700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.

React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.

时间:2024-05-31 02:49:54

相关推荐

React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.

报错信息是:

Warning: Can't call setState (or forceUpdate) 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.

项目中tab切换,内容封装成来一个子组件,在跳转到别的路由页面,然后再返回该页面点击tab切换的时候报上述错误,找了很久的原因,目前得到的分析应该是,在路由跳转过来的时候子组件还未加载到,此时点击切换tab栏(这里需要setState),就会报上述的错误,解决办法如下:

设置变量let isMounted = false

然后在componentDidMount周期设置:

componentDidMount(){

isMounted = true;

}

在componentWillUnmount周期设置:

componentWillUnmount(){

isMounted = false

}

组件render这里判断isMounted的值:

{isMounted && this.state.activeIndex === 1 && <div className="tabC01"><FTab tabCon={'tabCon01'}/></div>}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。