gpt4 book ai didi

javascript - 在 React 中单击按钮时停止计时器

转载 作者:行者123 更新时间:2023-12-05 09:07:05 25 4
gpt4 key购买 nike

我正在开发一个应用程序,我有一个显示当前日期、小时、分钟和秒的计时器。它每秒增加一次。我想做的是在单击按钮时停止计时器,但我不确定为什么 clearInterval() 函数不起作用。我的代码是:

class Timer extends React.Component {

constructor(props) {
super(props);
this.state = {
timer: "",
};
}

componentDidMount() {
//current time
setInterval(() => {
this.setState({
currentTime : new Date().toLocaleString()
})
}, 1000)
}


stopTimer = () => {
clearInterval(this.state.currentTime)
}

render() {
return (
<div>
<h4>Current time: {this.state.currentTime}</h4>
<Button onClick={this.stopTimer}>Stop timer</Button>
</div>
)
}

}

最佳答案

setInterval() 结果是 intervalID,您应该将其用于 clearInterval()

this.state = {
...
intervalId: ""
};

...

const intervalId = setInterval(() => {
...
}, 1000);
this.setState({ intervalId });

...

clearInterval(this.state.intervalId);

关于javascript - 在 React 中单击按钮时停止计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65312304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com