我正在使用使用ReactSwipableView包的Material ui SwipableViews,我在控制台上收到此错误
反作用域开发.js:12466警告:componentWillReceiveProps已重命名,建议不要使用。有关详细信息,请参阅。
- 将数据提取代码或副作用移动到componentDidUpdate。
- 如果您要在属性更改时更新状态,请重构代码以使用记忆化技术或将其移动到静态getDerivedStateFromProps。
- 将componentWillReceiveProps重命名为UNSAFE_componentWillReceiveProps,以在非严格模式下禁止显示此警告。在React 17.x中,只有UNSAFE_ name有效。要将所有已弃用的生命周期重命名为新名称,可以在项目源文件夹中运行
npx react-codemod rename-unsafe-lifecycles
。
请更新以下组件:React可切换视图
有什么方法可以消除这个错误吗?我确实尝试了UNSAFE_componentWillReceiveProps,但没有任何变化
6条答案
按热度按时间bfrts1fy1#
It seems this has been reported to the maintainers already.
现在,作为开源软件的消费者,您可以:
componentWillReceiveProps
in the repo *归根结底,这不是与您的软件相关的错误,而是与软件依赖的依赖项相关的错误。修复这些错误实际上不是您的责任。如果您的应用可以运行,它将不会有问题。来自
react-dom.development.js
的警告不会出现在生产环境中。***编辑:**从this commit(PR)起,
react-swipable-views
不再使用componentWillReceiveProps
。如果仍然遇到此错误,请确保使用的是v0.14.0或更高版本。2g32fytz2#
使用
getDerivedStateFromProps
代替componentWillReceiveProps
例如:
***之后:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
eqzww0vc3#
我在查找代码中调用组件WillReceiveProps的位置时遇到了问题。我注意到警告中提到了一个特定的组件“Drawer”,它是我们正在使用的ant-d库的一部分。将ant-d升级到最新版本后,警告消失了。
7tofc5zh4#
这是react native项目中常见的错误。因此,可以通过以下步骤解决:
mitkmikd5#
您可以通过在node_modules/react-dom/cjs/react-dom.development.js和node_modules/react-dom/umd/react-dom.development.js中阻塞警告命令来清除警告
之前:
之后:
v9tzhpje6#
对于react原生,YellowBox已更改为LogBoX: