追查过程
在组件内声明 {
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 () => {}