componentWillUnmount() 卸载前钩子函数中的优化
1.解决事件绑定
componentWillUnmount() {
//1.解除事件绑定
window.onscroll = undefined;
}
}
2.页面中使用了定时器,需要在卸载时清除
componentWillUnmount() {
//2.页面中使用了定时器,需要在卸载时清除
clearInterval(this.state.timer);
}
3.页面已经卸载,ajax请求还没完成,需要把ajax请求停止 jquery ajax abort
解决跳页时报警告的bug Can't perform a React state update on an unmounted component.
页面卸载时,如果更新state的状态值还没结束的,使用下面这段代码让它结束掉
componentWillUnmount() {
//3.页面已经卸载,ajax请求还没完成,需要把ajax请求停止 jquery ajax abort
this.setState = (state, callback) => {
return;
}
}
^ - ^ 待续...