猿问

切换路由,上一个页面的定时器还在运行的问题

在主页点消息提示跳到Detail这个组件,初始化只能渲染Control过来的数据,在这里再点新的消息,就不会触发constructor了,所以我处理的nextProps的数据。如果第一道题时间还没结束,第二道题两个倒计时就都在运行,时间双倍速度的在减少。
我把能想到地方都清除定时器了,还是有问题,求助啊

慕少森
浏览 755回答 2
2回答

素胚勾勒不出你

你在componentWillReceiveProps和componenetDidMount中都调用了init,却没有在init开头清除定时器。因此在url === nowurl的情况下,会再次创建定时器,而第一次创建的定时器(来自componentDidMount)没有被清除,因此造成了两个定时器同时运行的情况

湖上湖

如果是组建的话,可以在页面销毁之前清除本页的定时器
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答