[componentWillUnmount ]React组件销毁中清理异步操作和取消请求

react一直报这个错误:Can’t perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.

原因:

通常是 react 组件已经从 DOM 中移除(有时候是热更新引起的),但是我们在组件中做的一些异步操作还未结束,如:接口调用或者是一个setState的异步操作等,当其完成时,而此时我们已经将改组件dom移除,从而导致上述问题。

解决办法:

componentWillUnmount() {
  this.setState = (state, callback) => {
    return
  }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文转载自我的个人博客。 这是一篇译文,原文在这里。有兴趣的同学可以直接阅读原文,写的很好。图省事的同学可以直接看...
    陈鑫呀阅读 5,790评论 0 0
  • 遇到什么写什么。由于最近在使用ant-design,所以这里还会涉及与它相关的问题。 1. 日志信息:React ...
    Sol_elY阅读 13,188评论 1 4
  • It's a common pattern in React to wrap a component in an ...
    jplyue阅读 8,549评论 0 2
  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 12,718评论 1 33
  • 你们看啊,六年级五班的运动员们正向着主席台走来,他们脸上洋溢着微笑,踏着矫健,整齐步伐,在教练蔡老师的带领下...
    多多_bc5b阅读 2,778评论 0 1

友情链接更多精彩内容