React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.
生活随笔
收集整理的這篇文章主要介紹了
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> }
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/keleyz/p/9509634.html
總結
以上是生活随笔為你收集整理的React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 悲观锁实现
- 下一篇: ExecutorService对象的sh