gpt4 book ai didi

reactjs - 在 React 中设置和清除间隔必须使用 useRef Hook 吗?

转载 作者:行者123 更新时间:2023-12-04 11:59:34 25 4
gpt4 key购买 nike

我目前正在了解 useRef 钩子(Hook)及其用法。访问 DOM 是我理解的一个非常直接的用例。第二个用例是 ref 的行为类似于类组件中的实例字段。和 react docs提供一个从点击处理程序设置和清除时间间隔的示例。我想知道,如果不需要从单击处理程序中取消时间间隔,我们是否可以使用在 useEffect 中声明的局部变量来设置和清除间隔,如下所示?还是使用文档中提到的 ref 总是要采取的方法?

useEffect(() => {
const id = setInterval(() => {
// ...
});
return () => {
clearInterval(id);
};
})

最佳答案

stated at the docs you shared ;

If we just wanted to set an interval, we wouldn’t need the ref (id could be local to the effect).



  useEffect(() => {
const id = setInterval(() => {
setCounter(prev => prev + 1);
}, 1000);
return () => {
clearInterval(id);
};
});

but it’s useful if we want to clear the interval from an event handler:



// ...
function handleCancelClick() {
clearInterval(intervalRef.current);
}
// ...

关于reactjs - 在 React 中设置和清除间隔必须使用 useRef Hook 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56914921/

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