Javascript 如何以这种特殊方式清除间隔集
我在英国工作。我想清除组件卸载的间隔 间隔设置为如下所示Javascript 如何以这种特殊方式清除间隔集,javascript,reactjs,Javascript,Reactjs,我在英国工作。我想清除组件卸载的间隔 间隔设置为如下所示 setInterval( () => this.baz(), 1000 ); 下面是这个答案 我该如何澄清这一点。如果这是一个基本问题,我很抱歉setInterval在调用时返回一个ID。您只需保存它并将其传递给clearInterval()。您可以非常轻松地将其保存在您所在的州: this.setState({ intervalId: setInterval(() => this.baz(), 1000) }); 然后在
setInterval( () => this.baz(), 1000 );
下面是这个答案
我该如何澄清这一点。如果这是一个基本问题,我很抱歉
setInterval
在调用时返回一个ID。您只需保存它并将其传递给clearInterval()
。您可以非常轻松地将其保存在您所在的州:
this.setState({ intervalId: setInterval(() => this.baz(), 1000) });
然后在组件willunmount()
中:
setInterval
调用时返回一个ID。您只需保存它并将其传递给clearInterval()
。您可以非常轻松地将其保存在您所在的州:
this.setState({ intervalId: setInterval(() => this.baz(), 1000) });
然后在组件willunmount()
中:
在组件上保存对的引用(this.intervalID
),并在componentWillUnmount中清除它:
class Demo extends React.Component {
componentDidMount() {
this.intervalID = setInterval( () => this.baz(), 1000 );
}
componentWillUnmount() {
clearInterval(this.intervalID);
}
render() {
//...
}
}
在组件上保存对的引用(this.intervalID
),并在componentWillUnmount中清除它:
class Demo extends React.Component {
componentDidMount() {
this.intervalID = setInterval( () => this.baz(), 1000 );
}
componentWillUnmount() {
clearInterval(this.intervalID);
}
render() {
//...
}
}