gpt4 book ai didi

javascript - 我需要从不同的函数调用 ClearInterval

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

我正在创建一个倒数计时器,我需要从不同的函数调用 clearInterval,因为我想用两个不同的按钮开始和暂停倒计时
这是我的一段代码

const startCountdown = () => {
const countdown = setInterval(() => {
setSecondsElapsed(secondsElapsed => secondsElapsed - 1);
}, 1000);
};

const pauseCountdown = () => {
clearInterval(countdown);
};
当我按下初始按钮时倒计时开始,但当我按下调用 pauseCountdown() 的按钮时它不会暂停

最佳答案

使用 React ref 来保存计时器引用。设置间隔时,将倒计时引用存储为 ref 的当前值,并在另一个函数中使用 ref 的当前值清除间隔。

const countDownRef = React.useRef();

const startCountdown = () => {
countDownRef.current = setInterval(() => {
setSecondsElapsed(secondsElapsed => secondsElapsed - 1);
}, 1000);
};

const pauseCountdown = () => {
clearInterval(countDownRef.current);
};

关于javascript - 我需要从不同的函数调用 ClearInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68213303/

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