ReactDOM.createRoot不是函数错误求助
解决TypeError: _reactDom.default.createRoot is not a function
错误原因
createRoot是React 18新增的根渲染API,你的项目使用的ReactDOM版本低于18,因此无法识别该方法。另外,React 18中createRoot需要从react-dom/client导入,而非旧的react-dom包,这也是常见触发该错误的原因。
解决方案
方案1:升级至React 18并修正导入路径
- 升级React和ReactDOM到最新版本:
npm install react@latest react-dom@latest # 或使用yarn yarn add react@latest react-dom@latest
- 修正代码中的导入路径:
import React from "react"; import ReactDOM from "react-dom/client"; // 从react-dom/client导入createRoot import App from "./stockChart"; ReactDOM.createRoot(document.getElementById("root")).render(<App />);
方案2:保留现有版本,使用旧版渲染方式
如果不需要升级React版本,改用React 17及以下的render方法:
import React from "react"; import ReactDOM from "react-dom"; import App from "./stockChart"; ReactDOM.render(<App />, document.getElementById("root"));
额外验证
检查项目根目录下的package.json文件,确保react和react-dom的版本号一致,避免版本不匹配引发其他问题。
内容的提问来源于stack exchange,提问作者Ahmed B
相关产品推荐
相关产品推荐

