React 中 clearInterval为什么无效?-灵析社区

ZZZ葡萄皮

为什么clearinterval不生效? react的项目,在函数组件中定义了定时器容器: var timer = { sto: [], //存延时器 siv: [], //存循环器 }; 想通过鼠标移入控制定时器启停 于是定义了 function handleMouseOver(){ if(timer.siv.length>0){ timer.siv.forEach(siv=>clearInterval(siv)) }else{ timer.siv.forEach(siv=>clearInterval(siv)); timer.siv.push(setInterval(()=>{console.log("xxx")},50)); } }

阅读量:94

点赞量:0

问AI
小青梅
我就不给你说原因了,解决方案是这个timer对象要么放在函数组件之外,要么用useRef包裹。