问题描述
//This function is called when I select a Subject//
const StartTimer =()=>{
useEffect(() => {
const secondsCounter =
seconds > 0 &&
setInterval(() => setSeconds(seconds - 1), 1000);
return () => clearInterval(secondsCounter);
}, [seconds]);
//seconds == 60 (when seconds == 0)
useEffect(() => {
return () => setSeconds(2);
}, [seconds === 0 && minutes > 0 && !timeDone]);
//MINUTES
//Minutes 60 -> 0 (when seconds == 0)
useEffect(() => {
return () => setMinutes(minutes - 1);
}, [seconds === 0 && minutes > 0]);
// Minutes == 60 (when minutes == 0)
useEffect(() => {
return () => setMinutes(2);
}, [minutes === 0 && hours > 0 && !timeDone]);
//HOURS
//hours 24 => 0 (when minutes == 0)
useEffect(() => {
return () => setHours(hours - 1);
}, [minutes === 0 && hours > 0 && !timeDone]);
//DONE
useEffect(() => {
return () => {
setDone(true);
console.log('STOP');
history.push('/');
};
}, [hours === 0 && minutes === 0 && seconds === 0]);
};
}
<p>Remaining Time: {hours} :{minutes}: {seconds}</p>
标签: javascriptmern
解决方案
推荐阅读