React error warning 合计(长期更新)

1、

Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the ServiceAddOrEdit component.

这个问题是说,我们发送了一个异步请求,但是在这个异步请求返回之前,组件可能就已经被卸载了,等数据回来再使用setState就会报出上面的警告。

解决方案:
componentWillUnmount方法,这个方法官方文档是这么写的,当这个组件被移除的时候,会调用这个函数。

If the Clock component is ever removed from the DOM, React calls the componentWillUnmount() lifecycle hook so the timer is stopped.

最终代码可以写为这样:

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

相关阅读更多精彩内容

  • It's a common pattern in React to wrap a component in an ...
    jplyue阅读 3,411评论 0 2
  • 自己最近的项目是基于react的,于是读了一遍react的文档,做了一些记录(除了REFERENCE部分还没开始读...
    潘逸飞阅读 3,750评论 1 10
  • 每每到深夜,最怕起来一个人在空荡荡的楼道,躺风去厕所,然后冲水的声音……你有那种体会吗,捂着耳朵怕听到仿佛外来的世...
    小米南瓜and粥阅读 155评论 3 0
  • 2月4日,正月初八,晴。 今日蓝天,阳光,温暖。临时起意福永凤凰山一游。上一次登凤凰山是五年前。 凤凰山,西拥零丁...
    wandly阅读 671评论 1 1
  • 一粒种子,孕于土中, 阳光、雨露、适宜的温度, 凭着种子的本能, 借着生命的名义, 发芽, 生长, 成树。 这样的...
    通向马达加斯加阅读 375评论 0 0

友情链接更多精彩内容