react 为什么需要unmount状态

xenia
  • 71

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

回复
阅读 2.4k
3 个回答

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

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

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

你知道吗?

宣传栏