React有哪些性能优化的手段?
- 使用纯组件;
- 使用
React.memo
进行组件记忆(React.memo
是一个高阶组件),对 于相同的输入,不重复执行; - 如果是类组件,使用
shouldComponentUpdate
(这是在重新渲染组件之前触发的其中一个生命周期事件)生命周期事件,可以利用此事件来决定何时需要重新渲染组件; - 路由懒加载;
- 使用
React Fragments
避免额外标记; - 不要使用内联函数定义(如果我们使用内联函数,则每次调用“
render
”函数时都会创建一个新的函数实例); - 避免在
Willxxx
系列的生命周期中进行异步请求,操作dom
等; - 如果是类组件,事件函数在
Constructor
中绑定bind
改变this
指向; - 避免使用内联样式属性;
- 优化
React
中的条件渲染; - 不要在
render
方法中导出数据; - 列表渲染的时候加
key
; - 在函数组件中使用
useCallback
和useMemo
来进行组件优化,依赖没有变化的话,不重复执行; - 类组件中使用
immutable
对象;