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

木木俞
192 声望5 粉丝

佛系前端