无法在设置状态的未安装组件上调用 setState(或 forceUpdate) [英] Can't call setState (or forceUpdate) on an unmounted component on set state
本文介绍了无法在设置状态的未安装组件上调用 setState(或 forceUpdate)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们如何在 componentDidMount() 中使用 setState 或者我们如何改变状态值?.使用以下代码时出现错误
how we can use setState in componentDidMount() or how we can change state value?. While using below code getting error
无法在未挂载的组件上调用 setState(或 forceUpdate)
Can't call setState (or forceUpdate) on an unmounted component
componentDidMount(){
this.interval = setInterval(() => {
if(this.state.rmSec==0){
this.setState({
rmSec:59,
rmMin:this.state.rmMin-this.state.minus,
})
}else{
this.setState({
rmSec:this.state.rmSec-this.state.minus
})
}
if(this.state.rmMin==0){
this.setState({
rmSec:0,
rmMin:0,
})
}
}, 1000);
}
推荐答案
卸载时清除间隔解决的问题
Issue solved by clearing interval on unmount
componentWillUnmount () {
this.interval && clearInterval(this.interval);
this.interval = false;
}
这篇关于无法在设置状态的未安装组件上调用 setState(或 forceUpdate)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文