React的createElement()为何属Legacy API?使用疑问解析
关于 React.createElement 标记为 Legacy API 的说明
- 先给你明确核心结论:React 官方现在强烈不推荐开发者在应用代码里直接用
React.createElement(),它被标为 Legacy API 且未来会移除,主要是针对开发者的使用规范,而非 React 内部立刻停止使用。 - 具体细节:
- 现在写 React 组件,官方优先推荐用 JSX 语法——React 17 及之后版本,JSX 编译后的代码已经不再依赖
React.createElement,而是用_jsx/_jsxs这类更高效的 runtime 函数。 - 如果你因为特殊场景要写无 JSX 的代码,也别再用
React.createElement,官方后续会推出更现代的替代方案。
- 现在写 React 组件,官方优先推荐用 JSX 语法——React 17 及之后版本,JSX 编译后的代码已经不再依赖
- 顺便说下它和原生 JS
document.createElement的区别:- React 的
createElement生成的是虚拟 DOM 对象,是 React 用来描述 UI 的数据结构,不是浏览器真实 DOM 节点; - 原生的
document.createElement直接创建浏览器可渲染的真实 DOM 节点,和 React 的虚拟 DOM 机制完全是两回事。
- React 的
内容的提问来源于stack exchange,提问作者aerodeka
相关产品推荐
相关产品推荐

