React 性能优化

1,489 阅读2分钟

原文部分来自于阿里妈妈前端,这算是自己的总结回顾吧,把其中给出的一些链接进行了翻译(在代码层面优化这一节)

在不定期添加整理,欢迎关注!

React性能优化

关于性能优化,首先是通过工具定位代码需要优化的地方。

通过Chrome Performance分析(翻译在这里),Chrome具体其他的细节可以查看Chrome的官方文档 ,对于React调试也应该要有官方出品的调试工具

此外,在控制台查看触发View更新的原因,还可以添加why-did-you-updatenpm的包: npm install --save why-did-you-update or yarn add why-did-you-update

用法,在src/index.js中加入下面代码

import React from 'react';
 
if (process.env.NODE_ENV !== 'production') {
  const {whyDidYouUpdate} = require('why-did-you-update');
  whyDidYouUpdate(React);
}

然后在控制台就可以看到如下:

演示

注意 why-did-you-update只支持react 16+

通过上面的一些方法,我们能定位出需要优化的代码,那怎么对代码优化呢?

代码层面优化

key一旦改变,React将会创建一个新的组件实例,而不是去更新当前那个组件

代码体积优化

看到的一些优化总结

  1. 我所知道的 Web 性能优化策略
  2. 对于Redux以及Service Workers的优化介绍 Twitter Lite and High Performance React Progressive Web Apps at Scale
  3. 前端性能指标统计: 有几个关键词:白屏时间,首屏时间,用户可操作时间(dom Interactive),总下载时间
  4. 前端性能监控: 比较全面介绍了前端优化的地方,可以详细看一下

大家有好的推荐也可以发给我!!