类组件和函数组件

129 阅读1分钟

共同点

实际用途一样,无论是高阶组件,还是异步加载都可用做基础组件展示UI。使用和呈现上没有明显的不同。

不同点

  1. 类组件有生命周期,函数组件没有。
  2. 类组件需要继承于class,函数组件不用。
  3. 类组件有this,函数组件没有。
  4. 类组件有状态管理this.state,函数组件没有,函数组件如果要使用状态管理使用hooks的useState()。
  5. 类组件优化靠的是shouldComponentUpdate来阻断渲染,函数组件靠React.Memo()来优化。
  6. 相对于类组件,函数组件更纯粹,简单,容易测试。