React性能优化指南之性能分析与16

白癜风QQ交流群 http://www.xianmeng.net.cn/fengshang/xinchao/870.html

本文分为两个部分

1如何分析React性能1.1性能分析指标有哪些1.性能分析的两个阶段1.3通过工具查看指标和度量16个React性能优化方法.1前端通用优化.减少不必要的组件更新.3提交阶段优化1性能分析

进行任何性能优化的首先你要知道有哪些衡量的指标?其次找出存在的问题?然后才能针对性地进行优化。

1.1性能分析指标有哪些

定性:加载性能、运行性能:滚动更新

定量:

加载性能指标:reponseStart、domInteractive、DomContentLoadedEventEnd、loadEventStart、FCPFSPFMPTTI

运行性能指标:FPS、内存CPUI/O网络磁盘

治理:采集、运维

1.性能分析的两个阶段分析阶段

通过分析器(Profiler)找出重新渲染的组件、重新渲染的次数、以及重新渲染耗费的资源与时间

变动检测,通过分析器我们可以知道:什么被重新渲染?重新渲染的代价?变动检测要回答的问题就是:为什么这些进行了重新渲染?

优化阶段

优化阶段我们针对分析阶段抛出的问题进行解决,下面简单列举下React进行渲染性能优化的三个方向:

1、前端通用优化。这类优化在所有前端框架中都存在,重点就在于如何将这些技巧应用在React组件中。

、减少不必要的组件更新。这类优化是在组件状态发生变更后,通过减少不必要的组件更新来实现,对应到React中就是:减少渲染的节点、降低组件渲染的复杂度、充分利用缓存避免重新渲染(利用缓存可以考虑使用PureComponent、React.memo、hook函数useCallback、useMemo等方法)

3提交阶段优化。这类优化的目的是减少提交阶段耗时。

1.3通过工具查看指标和度量1、ReactDevToolsReduxDevTools

Reactv16.5引入了新的Profiler功能,让分析组件渲染过程变得更加简单,而且可以很直观地查看哪些组件被渲染.

高亮更新

首先最简单也是最方便的判断组件是否被重新渲染的方式是“高亮更新(HightlightUpdates)”,通过高亮更新,基本上可以确定哪些组件被重新渲染。

设置方式如下:

例如合理使用了React.memo的列表组件比不使用,性能更好,“纯组件”是React优化的第一张牌,也是最有效的一张牌。

分析器

如果高亮更新无法满足你的需求,比如你需要知道具体哪些组件被渲染、渲染消耗多少时间、进行了多少次的提交(渲染)等等,这时候就需要用到分析器了.

来了解一下Profiler面板的基本结构:

1、


转载请注明:http://www.aierlanlan.com/rzdk/552.html

  • 上一篇文章:
  •   
  • 下一篇文章: