javascript - 离开后反应间隔不停止
问题描述
我的问题是我使用的间隔useEffect
在离开组件时没有停止。
代码是:
useEffect(() => {
const timer = window.setInterval(() => {
refreshSave();
}, 3000);
return () => {
window.clearInterval(timer);
};
}, []);
我正在考虑为空设置动画span
,然后onAnimationIteration
用于触发保存。
解决方案
我之前遇到过类似的问题,通过使用useRef
钩子解决了它。
const funRef = useRef(null);
//...
useEffect(() => {
funRef.current = setInterval(() => {
refreshSave();
}, 3000);
return () => {
clearInterval(funRef.current);
};
}, []);
更多信息:计时器应用程序
推荐阅读
- python - Scrapy Splash点击带有javascript href的链接
- javascript - 数据未从子组件刷新到父组件
- python - 我的 python 脚本如何检查 pypi repo 上是否有新版本可用?
- ruby - 如果 key 存在,则检查 hash;如果没有,则创建数组并附加值
- java - Java 循环遍历 arraylist 并使用匹配的代码删除 item 类型的任何对象
- c - 读取文件并将不带注释的相同内容保存在新文件中
- model-view-controller - 如何在局部视图中加载数据表
- javascript - 如何替换当前打开的文件?
- html - 如何更改元素在主页上加载的顺序?
- php - 如何修复数据库的未定义索引并且无法选择数据库?我正在使用 XAMPP 1.8.3-5 VC11