函数组件和class组件如何选择?

208 阅读1分钟

先考虑几个问题:

  1. hook之前的函数组件时什么样子?

    无状态,无副作用,只能做单纯的展示组件。

  2. class组件有什么弊端,为什么要引入hook?

    • 在组件间复用状态逻辑很难
    • 复杂组件变的难以理解
    • 难以理解的class
  3. 引入hook之后的函数组件发生了哪些变化?

    函数组件可以存储和改变状态值(useState、useReducer),可以执行副作用(useEffect、useLayoutEffect),还可以复用状态逻辑(自定义hook)。

  4. 函数组件与class组件如何选择?

    出现以上缺点的情况下都适合使用函数组件

hooks