我正在工作。我想清除我在componentWillUnmount上的时间间隔
时间间隔设置为此
setInterval( () => this.baz(), 1000 );
在此{@ 3}之后关注此答案
我该如何清除。很抱歉,这是一个基本问题
答案 0 :(得分:4)
保存对组件(this.intervalID
上的intervalID的引用,并在componentWillUnmount中清除它:
class Demo extends React.Component {
componentDidMount() {
this.intervalID = setInterval( () => this.baz(), 1000 );
}
componentWillUnmount() {
clearInterval(this.intervalID);
}
render() {
//...
}
}
答案 1 :(得分:2)
setInterval
在调用时返回一个ID。您只需要保存该内容并将其传递给clearInterval()
。您可以轻松地将其保存为您的状态:
this.setState({ intervalId: setInterval(() => this.baz(), 1000) });
然后在componentWillUnmount()
中输入:
clearInterval(this.state.intervalId);