react报错:Legacy context API has been detected within a strict-mode tree

文章系转载,便于整理和总结,原文地址:https://www.cnblogs.com/plBlog/p/13976879.html

最近写React后台项目的时候系统总是给我报这个警告:

index.js:1 Warning: Legacy context API has been detected within a strict-mode tree.

The old API will be supported in all 16.x releases, but applications using it should migrate to the new version.

Please update the following components: LocaleReceiver

Warning: Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details.

虽然这些只是警告,但是看起来好难受啊,所以我上网查过了一下发现是因为我打开了React.StrictMode严格模式

StrictMode目前有助于:

当启用严格模式, React将编译一个所有使用不安全生命周期组件的列表,并打印一条关于这些组件的警告信息,就像我上面提及到的两个警告信息,如果想要取消这些警告信息,有两个办法。

方法一:

如果你不保证自己的代码无懈可击,可以参考 React严格模式(Strict Mode)中文文档,这个方法比较慢一些,因为你要严格遵循React的严格模式才会解除这些警告。

方法二:

这个方法简单粗暴,直接取消<React.StrictMode></React.StrictMode>标签即可,这样不论代码是否严谨都不会再抛出这类警告。

希望这些方法可以帮到大家。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值