打字稿React.ReactElement与JSX.Element

jai*_*fps 8 javascript typescript

基本问题:

React.ReactElementvs和之间的区别是什么JSX.Element?它们是一样的,我什么时候应该使用每个?

Bár*_*res 7

尽管可以在 React 中使用 JSX 来创建 React 元素,但 React 不需要 JSX 才能工作,您可以将其替换为普通的 JavaScript。

React 元素被简单地定义为您想在屏幕上看到的内容的描述。换句话说,React 元素是关于如何创建浏览器 DOM 的指令。

ReactElement 是一个具有类型和道具的对象。React 读取这些对象并使用它们来构建 DOM。另一方面,JSX.Element 是一个 ReactElement,具有 props 的泛型类型,类型为 any。