react 函数式组件 setInterval清除不掉 clearInterval失效
追查过程针对函数式组件:在组件内声明 {timer = null;timer = setInterval(()=>{},seconds);}的情景;1.可以在 clearInterval(timer) 先console一下timer的值,看看是什么2.一般清除不掉setInterval的情况是因为每次在清除之前重新走了一遍改组件的js代码,使timer又成了初始值null,再去clearIn
·
追查过程
在组件内声明 {
timer = null;
timer = setInterval(()=>{},seconds);
}
的情景;
1.可以在 clearInterval(timer) 先console一下timer的值,看看是什么
2.一般清除不掉setInterval的情况是因为每次在清除之前重新走了一遍改组件的js代码,使timer又成了初始值null,再去clearInterval(timer);肯定不会成功了。
解决办法: 再组件外声明 timer = null;(即在 export default ()={}外)
再通俗一点
const timer = null;
export default () => {}
更多推荐
所有评论(0)