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