在没风的地方找太阳  在你冷的地方做暖阳 人事纷纷  你总太天真  往后的余生  我只要你 往后余生  风雪是你  平淡是你  清贫也是你 荣华是你  心底温柔是你  目光所致  也是你 想带你去看晴空万里  想大声告诉你我为你着迷 往事匆匆  你总会被感动  往后的余生  我只要你 往后余生  冬雪是你  春花是你  夏雨也是你 秋黄是你  四季冷暖是你  目光所致  也是你 往后余生  风雪是你  平淡是你  清贫也是你 荣华是你  心底温柔是你  目光所致  也是你
jQuery火箭图标返回顶部代码 - 站长素材

解决react报错:index.js:1 Warning: 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.

报错信息如下:

 

 首先,这个报错的意思是说:在路由快速切换时,数据还没有拿回来,页面就已经销毁了,而当数据拿回来了去执行this.setState()时,找不到组件而报错。

清楚问题后,解决的办法有两个:

第一种:在生命周期UNSAFE_componentWillMount里面取消所有该页面尚未完成的请求:

var xhr = new XMLHttpRequest();

xhr.abort();

第二种:使用react组件this里面的updater属性上的isMounted方法判断组件是否存在,如果不存在,就return,不再去设置setState。

if (this.updater.isMounted(this)) {
     this.setState({
         dashBoardDate: otherDashBoardDate
    })   
} else {
    return
}

 

posted @ 2020-04-26 11:18  艺术诗人  阅读(4143)  评论(0编辑  收藏  举报