ComponentDidMount将每秒更新我的组件(使用setInterval)但是我希望它只在我的状态为真时更新,是否可以这样做?
答案 0 :(得分:1)
您可以使用setTimeout
代替,只有在“状态为真”时才更新超时
componentDidMount() {
this.start()
}
componentWillUnmount() {
this.stop()
}
start() {
this.timeoutId = setTimeout(() => {
doSmthUseful();
if(state is true) { // whatever you mean by "if my state is true"
this.start()
}
}, 1000)
}
stop() {
clearTimeout(this.timeoutId)
}