共同点
实际用途一样,无论是高阶组件,还是异步加载都可用做基础组件展示UI。使用和呈现上没有明显的不同。
不同点
- 类组件有生命周期,函数组件没有。
- 类组件需要继承于class,函数组件不用。
- 类组件有this,函数组件没有。
- 类组件有状态管理this.state,函数组件没有,函数组件如果要使用状态管理使用hooks的useState()。
- 类组件优化靠的是shouldComponentUpdate来阻断渲染,函数组件靠React.Memo()来优化。
- 相对于类组件,函数组件更纯粹,简单,容易测试。