在useRef中获取.current值

时间:2020-09-09 23:16:33

标签: javascript reactjs

我有一个启动/停止计时器功能,可以启动或停止计时器。它可以完美运行,但是我试图让它在30秒后停止并运行saveTrial()。我曾尝试在各个位置进行控制台日志记录timer.currenttime,但是都无法表示当前计时器的显示秒数。

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;
   }
};

1 个答案:

答案 0 :(得分:0)

在useEffect中包含time作为依赖项非常有效。

useEffect(() => {
    if (time === 10) {
        saveTrial();
    };
}, [time]);