如何从 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