首页 > 编程学习 > 修复:无法对未安装的组件执行反应状态更新。

修复:无法对未安装的组件执行反应状态更新。

在开发 react.js 应用程序时可能会遇到此错误:

警告:无法对未安装的组件执行 React 状态更新。

这是一个空操作,但它表明您的应用程序中存在内存泄漏。

警告很明确,您正在更新状态,但组件已卸载!

让我们更深入地研究这个问题:

在 react.js 中,你的组件可能会被重新渲染多次,这没关系。尽管如此,当组件重新渲染(卸载然后重新安装)或组件被卸载(从页面中删除)时,您可能(不是有意地)更新状态。那是您遇到此错误的时候。

让我们看一个例子:

这里我们叫 设置状态 每两秒钟,但等待;即使组件已卸载,我们也会每两秒调用一次!

快速修复此问题:

https://gist.github.com/amirrezaDev1378/0dc4a8e24b1dfcb790607167d9fd0ae8

如果组件通过检查的值挂载,我们调用 setState

已卸载 .

每当组件卸载时,我们设置 已卸载

value 为 true,并且繁荣,它不会调用 setState!

更好的方法:

我们可以创建一个辅助函数以在异步 setState 操作中使用:

https://gist.github.com/amirrezaDev1378/9334b1ca7864145a0902803e2debef21

辅助功能信用:

福特04

如果文章对你有帮助,请考虑关注我或点赞文章!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/11990/40160409

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号