Skip to content

hooks 的优缺点

更容易复用代码

类组件要复用代码,经常需要使用高阶组件 HOC,但是如果大量使用 HOC,将会产生非常多的嵌套,让调试变得困难,其次 HOC 可以劫持 props,在不遵守约定的情况下可能造成冲突

在 hooks 中,自定义 hooks 可以将组件中类似的状态逻辑抽取出来,做成一个 useHooks,这样在每次调用的时候就会有一份独立的存储空间,而且 hooks 实现起来代码量比较少,维护更容易

副作用统一,没有生命周期

在 react hooks 下, 没有生命周期函数, 几乎所有的操作都在 useEffect 中进行处理. 而且这个 useEffect 的执行时机是在更新渲染更新之后异步执行的, 做到了数据处理逻辑和渲染分离

不用考虑 this 指向问题

组件层级更浅了

缺点 useEffect 泛滥使用,导致代码混乱