我制作了一个自定义计时器,它根据当前时间动态工作。一切正常,但我的问题是当计时器到达 00:00 时,它会返回到 00:60 并从那里一遍又一遍地再次运行……我不知道如何解决这个问题,我已经尝试了很长时间了。 .这是我更新计时器的代码(反应钩子 - 使用效果):
useEffect(() => {
if (timerSeconds == 1 && timerMinutes == 0) {
setTimerSeconds('0');
setTimerMinutes('0');
}
else if(timerSeconds != 1 && timerSeconds != 0 && timerMinutes != 0) {
const Interval = setInterval(() => {
const timeNowSeconds = 60-new Date().toLocaleTimeString([], {second: '2-digit'});
setTimerSeconds(timeNowSeconds);
}, 980)
if (timerMinutes == 0 && timerSeconds == 1) {
clearInterval(Interval);
}
console.log('hey')
}
else if (timerSeconds == '1' && timerMinutes != '0' && timerSeconds != '0') {
setTimeout(() => {
setTimerMinutes(timerMinutes-1);
}, 1000);
console.log('hello')
}
});