其实就是使用hooks之前有什么缺点,使用之后会有什么好处。肯定会优化的这个你总知道吧。(那不就是代码可读性变强,可维护性)。
使用hooks之前(例如发布/订阅)自定义事件的时候,会被挂载到componentDidMount生命周期中,然后再componentWillUnmount生命周期中将它进行清除。这样就不利于开发者进行维护与迭代。但是在使用hooks之后,通过Effect可以将三个componentDidMount,componentDidUpdate,componentWillUnmount进行聚合,方便代码的维护,组件的层级变浅了,使用hooks之前使用高阶组件来复用对各组件的状态,增强组件的功能,加大了数据的渲染,损失了性能,组件的话加大了自定义hooks。这样的话就不需要再考虑this的指向性问题,hooks在函数组件不需要通过this.fn与this.state的话。缺点的话,这三个周期的话,需要进行一些优化,也不会产生太多的依赖,利用component代替hooks,hooks的出现并不是取代了hooks组件,取带了一些class组件,实现一些类似class组件的功能。