react中componentWillUnmount中可以做的事
2020-08-06 本文已影响0人
zyghhhh
说明:
- 当页面发生跳转后但由于前一个页面请求还没有结束,或者事件 定时器没有结束,但是页面跳转到下一个页面了,此时就会报错。
- 通常是 react 组件已经从 DOM 中移除,但是我们在组件中做的一些异步操作还未结束,如:接口调用等,当其完成时,执行setState操作,而此时我们已经将改组件dom移除,从而导致上述问题。
可以做的事
1 清除定时器
componentWillUnmount(){
clearTimeout(this.timer)
}
2 解绑dom事件
componentWillUnmount(){
//其他事件也类似
window.onScroll = null
}
3 清除网络状态
componentWillUnmount(){
//其他事件也类似
this.setState = (state,callback) => {
return
}
}