React升级到18版本

前言

升级前react版本是16.9.0,react-dom版本为16.9.0,react-router-dom为5.1.2版本。

安装

复制代码
// npm
npm install react react-dom

// yarn
yarn add react react-dom

// pnpm
pnpm install react react-dom

启动项目

此时,项目可以正常运行,但是控制台报如下警告,译为:警告:ReactDOM。React 18不再支持 render。使用createRoot代替。在你切换到新的API之前,你的应用会表现得像在运行React 17一样。了解更多信息:https://reactjs.org/link/switch-to-createroot

react17及之前版本的写法(index.js)

react 复制代码
import App from "./App.js"
import ReactDOM from "react-dom"
 
render(<App />, document.getElementById("root"))

react18的写法(index.js)

react 复制代码
import App from "./App.js"
import { createRoot } from "react-dom/client"
 
createRoot(document.getElementById("root")).render(<App />)
相关推荐
半个落月1 分钟前
React JWT 登录鉴权实战:Mock、Zustand、Axios 与路由守卫全流程
后端·react.js
梨想橙汁6 分钟前
JS 核心语法:运算符流程控制、函数、数组与对象实战详解
前端·javascript
七牛开发者6 分钟前
拆解 dsh:Turn 与 Step 如何组织 Agent 主循环
前端·javascript·人工智能
空想兔7 分钟前
前端网络请求的前世今生:从 Ajax、XHR 到 Fetch 和 Axios
javascript
梨想橙汁7 分钟前
JavaScript 零基础入门:引入方式、变量与数据类型,吃透原始与引用类型
前端·javascript
不可能片场11 分钟前
puppeteer 调试实录:CDP 双层响应让取值永远 None
前端·electron
咖啡无伴侣12 分钟前
2. 从零搭建企业级 Monorepo 工程化模板:ESLint 10 (基础骨架)+ Prettier 配置与避坑指南
前端·架构
光影少年16 分钟前
react navite实现全局弹窗、Toast 组件
前端·react native·react.js
WebInfra20 分钟前
Rslib 1.0 正式发布:面向多场景的 JavaScript 库开发工具
前端·javascript·github
Aolith1 小时前
我在React全栈项目中搭建了一个完整题库
数据库·react.js·全栈