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

如何从ReactDOM.render切换到使用createRoot?

从ReactDOM.render切换到createRoot的方法

React 18起不再支持ReactDOM.render,需改用createRoot,切换前应用会兼容React 17行为,具体切换步骤如下:

1. 修改导入语句

  • 旧写法(React 17及更早):
import ReactDOM from 'react-dom';
  • 新写法(React 18+):
import { createRoot } from 'react-dom/client';

2. 更新渲染逻辑

  • 旧写法:
const rootElement = document.getElementById('root');
ReactDOM.render(<App />, rootElement);
  • 新写法:
const rootElement = document.getElementById('root');
const root = createRoot(rootElement);
root.render(<App />);

服务端渲染场景的特殊处理

如果你的应用使用服务端渲染(SSR),原有的ReactDOM.hydrate需替换为hydrateRoot:

  • 旧写法:
ReactDOM.hydrate(<App />, document.getElementById('root'));
  • 新写法:
import { hydrateRoot } from 'react-dom/client';

const rootElement = document.getElementById('root');
hydrateRoot(rootElement, <App />);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:10:37