代码分割
- 动态 import
- React.Lazy
- webpack
Context
提供在多个组件之间共享值得功能。只能适用简单的场景。
错误边界
React 16 开始。只能捕捉 contructor 、生命周期、render 里面的错误。
ErrorUtils.setGlobalHandler 可以捕捉剩余的错误。
Refs 转发
主要处理高阶组件。因为 ref 不能在 props 里面传递。React.createRef() 和 React.forwardRef()
高阶组件
既不是 API 也不是语法糖,就是一种设计模式。
注意:
- 不要在 render 中使用高阶组件
每一次刷新,会生成新的高阶组件,导致 diff 算法,重新渲染整个高阶组件,而且和可能导致 state 丢失 - copy 静态方法到高阶组件
- ref 不能直接传递
网友评论