- 合理善用componentShouldUpdate;
- 组件传递props的时候,只传递需要的props,尽量少用{…props},这样会增加虚拟DOM的比较负担;
- 如果要用到bind方法,尽量全部放到constructror里面,这样bind只会在组件初始化的时候执行一次,如果放到render里面,每一次的render都会执行bind,造成性能上的浪费;
- 相对复杂的页面尽量不要在一个组件里面写完,细粒度的管理组件有助于提高渲染效率;
- map渲染的组件要使用key,而且key必须是确定的,不要使用index这类的无法确定标识一条数据的key;
- 尽量少用refs或者DOM之类不可控操作;
- 如果可以尽量使用无状态组件(函数组件);
- React 官方提供了 PureRenderMixin 插件;新版本里直接提供React.PureComponent的基础类(进行的是浅比较,通过使用Immutable.js能够解决对象深比较的问题);