报错:Uncaught TypeError: react_dom_client__WEBPACK_IMPORTED_MODULE_1__.render is not a function
项目的react和reactdom版本都为18以上,点击错误代码路径,发现是最后的ReactDOM.render(<App />,document.getElementById("root"));
这是r18之前的根渲染方式,而r18使用新的根渲染方式:
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App";
// 为提供的创建一个 React 根container并返回根。
const root = createRoot(document.getElementById("root"));
// 根可用于将 React 元素渲染到 DOM 中
root.render(<App />);
更改后没有报错。
在此之前,有进行网上查阅,发现把版本降到18以下,把
import ReactDOM from 'react-dom/client';
改为
import ReactDOM from 'react-dom';
同样不会报错(记得使用r18之前的渲染路由的方式)