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

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

阅读 3.1k
2 个回答

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

如果是组建的话,可以在页面销毁之前清除本页的定时器

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题