You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript是否提供预定义的基础HTML标签内置类型?

React内置HTML标签类型使用说明

React 提供了开箱即用的全量HTML标签类型定义,完全可以替代你手动维护的Tags联合类型,不需要每次新增标签都手动补全定义。

核心内置类型

所有React原生支持的HTML、SVG标签的联合类型,可以直接通过keyof JSX.IntrinsicElements获取,这个类型是React JSX类型校验的底层依赖,写JSX标签时TS做标签名合法性校验就是基于这个类型,和你提到的HTMLAttributeAnchorTarget属于同一套内置类型体系,会跟随@types/react版本更新自动同步新增的标签支持,不需要手动维护。

基础用法

如果你的组件支持所有原生HTML标签,直接用这个类型即可:

// 全量HTML/SVG标签联合类型
type AllNativeTags = keyof JSX.IntrinsicElements;

如果你只需要支持部分容器类标签(就是你当前Tags定义的范围),可以用TS内置的Extract工具类型从全量标签里筛选需要的类型,这种写法可以避免手动写联合类型时的拼写错误,输错标签名TS会直接提示报错:

export type Tags = Extract<
  keyof JSX.IntrinsicElements,
  | 'div'
  | 'article'
  | 'section'
  | 'aside'
  | 'nav'
  | 'figure'
  | 'main'
  | 'header'
  | 'footer'
  // 后续新增支持的标签直接在这里加即可
>;

补充说明:React没有单独导出拆分好的「块级标签」「行内标签」这类细分场景的标签联合类型,所有标签相关的类型都可以基于keyof JSX.IntrinsicElements做二次筛选得到,稳定性远高于纯手写维护的联合类型。


内容的提问来源于stack exchange,提问作者Jesse Winton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:12:34