性能优化

基于以下事实:

  1. 父组件更新默认触发所有子组件更新(shouldComponentUpdate默认返回true)
  2. 列表类型的组件默认更新方式非常复杂

性能优化关键在:

  • shouldComponentUpdate 阶段判断,如果属性及状态与上一次相同,这个时候很明显UI不会变化,也不需要执行后续生成DOM,DOM Diff的过程了,可以提高性能。
  • DOM Diff 阶段优化,提高Diff的效率

解决方案:

  • 子组件执行 shouldComponentUpdate 方法,自行决定是否更新
  • 给列表中的组件添加key属性

http://react-china.org/t/react/11562

相关推荐