javascript - 警告:componentWillReceiveProps 已重命名,不推荐使用。请更新以下组件:控件
问题描述
我收到了这种类型的警告,但我不明白为什么:
react-dom.development.js:67 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
Please update the following components: Control(s)
printWarning @ react-dom.development.js:67
warn @ react-dom.development.js:34
./node_modules/react-dom/cjs/react-dom.development.js.ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings @ react-dom.development.js:11530
flushRenderPhaseStrictModeWarningsInDEV @ react-dom.development.js:23822
commitRootImpl @ react-dom.development.js:23005
unstable_runWithPriority @ scheduler.development.js:468
runWithPriority$1 @ react-dom.development.js:11276
commitRoot @ react-dom.development.js:22990
performSyncWorkOnRoot @ react-dom.development.js:22329
scheduleUpdateOnFiber @ react-dom.development.js:21881
updateContainer @ react-dom.development.js:25482
(anonymous) @ react-dom.development.js:26021
unbatchedUpdates @ react-dom.development.js:22431
legacyRenderSubtreeIntoContainer @ react-dom.development.js:26020
render @ react-dom.development.js:26103
./src/index.js @ index.js:11
__webpack_require__ @ bootstrap 74ac790…:678
fn @ bootstrap 74ac790…:88
0 @ socket.js:24
__webpack_require__ @ bootstrap 74ac790…:678
(anonymous) @ bootstrap 74ac790…:724
(anonymous)
我不知道它是什么 Control(s) 组件,但我看到它是从 ./src/index.js 中的渲染开始的。但是 ./src/index.js 中的代码是:
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import "bootstrap/dist/css/bootstrap.min.css";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
import axios from 'axios';
axios.defaults.baseURL = process.env.REACT_APP_API_ENDPOINT;
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById("root")
);
serviceWorker.unregister();
我是否使用旧库来获取此错误?有没有办法解决它?
解决方案
推荐阅读
- sql - HIVE SubQuery 表达式同时引用 Parent 和 SubQuery 表达式
- python - 将线性变换应用于 numpy 数组的每一列的最有效方法
- web-scraping - scrapy 给出的输出与网站上的不同,地理位置有问题吗?
- html - Font Awesome unicode "\f046" 未在 Chrome 中显示
- python-3.x - Python if 语句和赋值
- java - 将 char 数组转换为字符串。爪哇
- c - 加密小于 1Kbyte 的文件时出现段错误错误
- c# - 无法将“System.Int32”类型的对象转换为“System.Boolean”类型。
- java - 在 Cucumber 报告 (.html/.json) 文件中显示每个测试场景的时间戳(开始时间/结束时间)
- laravel - Laravel Chart 不呈现图表。未定义变量:图表