我有一个启动/停止计时器功能,可以启动或停止计时器。它可以完美运行,但是我试图让它在30秒后停止并运行saveTrial()
。我曾尝试在各个位置进行控制台日志记录timer.current
和time
,但是都无法表示当前计时器的显示秒数。
const [time, setTime] = useState(0);
let timer = useRef(0);
const startStopTimer = () => {
if (!timer.current)
timer.current = setInterval(() => {
setTime(time => time + 1);
}, 1000);
} else {
clearInterval(timer.current);
timer.current = 0;
}
};
答案 0 :(得分:0)
在useEffect中包含time
作为依赖项非常有效。
useEffect(() => {
if (time === 10) {
saveTrial();
};
}, [time]);