标签:状态 修复 更新 https 卸载 组件 安装 setState
修复:无法对未安装的组件执行反应状态更新。
在开发 react.js 应用程序时可能会遇到此错误:
警告:无法对未安装的组件执行 React 状态更新。
这是一个空操作,但它表明您的应用程序中存在内存泄漏。
警告很明确,您正在更新状态,但组件已卸载!
让我们更深入地研究这个问题:
在 react.js 中,你的组件可能会被重新渲染多次,这没关系。尽管如此,当组件重新渲染(卸载然后重新安装)或组件被卸载(从页面中删除)时,您可能(不是有意地)更新状态。那是您遇到此错误的时候。
让我们看一个例子:
这里我们叫 设置状态
每两秒钟,但等待;即使组件已卸载,我们也会每两秒调用一次!
快速修复此问题:
https://gist.github.com/amirrezaDev1378/0dc4a8e24b1dfcb790607167d9fd0ae8
如果组件通过检查的值挂载,我们调用 setState
已卸载
.
每当组件卸载时,我们设置 已卸载
value 为 true,并且繁荣,它不会调用 setState!
更好的方法:
我们可以创建一个辅助函数以在异步 setState 操作中使用:
https://gist.github.com/amirrezaDev1378/9334b1ca7864145a0902803e2debef21
辅助功能信用:
如果文章对你有帮助,请考虑关注我或点赞文章!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/11990/40160409
标签:状态,修复,更新,https,卸载,组件,安装,setState 来源: https://www.cnblogs.com/amboke/p/16654316.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。