react 为什么需要unmount状态

看了网上的教程知道react中的组件有卸载的状态,可是为什么需要有这个状态呢?如果一个页面中的一个组件需要从有到无的状态,那给这个组件一个state来标记不就好了吗?这个状态的意义应该不只是卸载或者没有了这样吧?

阅读 5.3k
3 个回答

有需求需要嘛,比如你有个异步返回的数据是更新状态的,或者有个定时器需要使用了this.state或者ref等,组件销毁后定时器还在的,需要这个时候清除定时器

可以简单地理解为,每个小组件运行时都会产生一定量的垃圾,这些垃圾会影响整个页面的运行,所以在每个小组件 unmount 的时候,都应该清除这一部分垃圾,比如定时器,监听器等。

组件卸载时难道你就不想再做点其他事?典型的过渡动画,目的还是提供钩子函数,让你获得更多的控制和操作。

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