Warning: setState(...): Can only update a mounted or mounting component. This usually means you call

场景:这是一个手机号,验证码的登录页面,在60s倒计时开始的时候,我们手机接收到验证码,并登录跳转到首页,会出现这样的提示。如果是在60s倒计时结束,在登录,不会报这样的警告!

解决方案:了解组件的生命周期

解决方案:在组件中添加

didUnmount 为自定义组件被卸载后的回调,每当组件实例从页面卸载的时候都会触发此回调。

didUnmount() {
      if (this.timer) {
        clearInterval(this.timer);
      }
}

 

上一篇:探讨:异步与同步的执行差异(结合async await 与 setState)


下一篇:组件中的state和setState