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

如何定义JSX元素数组?寻找无需导入ReactElement的简化类型方案

简便声明JSX元素数组的TypeScript类型

你完全不用每次都导入ReactElement来解决这个问题!在配置好React的TypeScript项目里,直接使用**JSX.Element**这个全局类型就可以了——它是TypeScript为JSX环境内置的类型,无需额外导入任何模块。

直接看修改后的代码示例:

const arrayOfJsxElements: JSX.Element[] = [];
arrayOfJsxElements.push(<div>hi</div>);

为什么这个方案可行?

当你的tsconfig.json中jsx选项设置为react-jsx(React 17+推荐)或react时,TypeScript会自动启用全局的JSX命名空间,JSX.Element就是专门用来表示所有JSX元素的类型,和你之前导入的ReactElement是等价的,但省去了每次手动导入的麻烦。

而且这个类型兼容性很好,不管你push的是原生HTML元素(比如<div>)、自定义函数组件的返回结果,还是类组件的实例,JSX.Element[]都能完美容纳。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 16:18:09