如何从 React 18 降级到 17.0.2
我可能不是唯一一个真正害怕技术变化导致我的代码中断的人,但你不必再害怕了。随着新 React 18 的部署,我将向你展示如何轻松降级到 React 17.0.2,这样你就有足够的时间为升级做好准备。
1. 创建 React 应用
- 
  创建一个文件夹并为其命名 react-downgrade-2022或任何您想要的命名。
- 
  打开终端并运行 create-react-app 
npx create-react-app .
2. 卸载 react 和 react-dom
当你创建一个 React 应用程序时,它将附带 React 18 和 React-dom 18,但这不是我们想要的,因为我们正在尝试降级到 React 17.0.2 和 React-dom 17.0.2
{
  "name": "react-downgrade-2022",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.0.1",
    "@testing-library/user-event": "^13.5.0",
    "react": "^18.0.0", // <===
    "react-dom": "^18.0.0", // <===
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
我们必须卸载 react 18 和 react-dom 18,现在运行npm uninstall react react-dom
npm uninstall react react-dom
这样做是为了让我们摆脱 react 18 和 react-dom 18,记住,我们正在尝试降级到 react 17 和 react-dom 17。
3 安装 react 17 和 react-dom 17
现在要得到我们真正想要的,也就是 react 17 和 react-dom 17,再次运行npm install react@17.0.2 react-dom@17.0.2
npm install react@17.0.2 react-dom@17.0.2
React 会用一些不推荐使用的警告标志向你大喊,忽略显示的任何警告标志。
4 修改 index.js
请记住,因为我们已经安装了 React 18,index.js所以会附带一些默认的 React 18 设置,我们必须更改这些设置以匹配 React 17.0.2
导航到目录index.js中的文件src。
// react 18
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
现在复制并粘贴以下代码到您的index.js文件中
// react 17.0.2
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
ReactDOM.render(
  <React.StrictMode>
    <App/>
  </React.StrictMode>,
  document.getElementById('root')
);
5 完成
现在,我们已经成功从 React 18 降级到 React 17.0.2
 运行npm start
npm start
谢谢,请关注我
文章来源:https://dev.to/ifeanyichima/how-to-downgrade-from-react-18-to-1702-818 后端开发教程 - Java、Spring Boot 实战 - msg200.com
            后端开发教程 - Java、Spring Boot 实战 - msg200.com
          
