react组件进阶 之代码性能工具的使用

简介: 在严格模式下,虽然不能监控到具体的副作用代码,但它会将不能具有副作用的函数调用两遍,以便发现问题。(这种情况,仅在开发模式下有效)

工具


这里所说的工具是指我们在书写react代码中,来帮我们检查代码是否规范,并且符合标准的工具


严格模式


StrictMode(React.StrictMode),本质是一个组件,该组件不进行UI渲染,它的作用是,在渲染内部组件时,发现不合适的代码。


  • 识别不安全的生命周期
  • 关于使用过时字符串 ref API 的警告
  • 关于使用废弃的 findDOMNode 方法的警告
  • 检测意外的副作用

。React要求,副作用代码仅出现在以下生命周期函数中

1.ComponentDidMount

2.ComponentDidUpdate

3.ComponentWillUnMount


副作用:一个函数中,做了一些会影响函数外部数据的事情,例如:


1.异步处理

2.改变参数值

3.setState

4.本地存储

5.改变函数外部的变量


相反的,如果一个函数没有副作用,则可以认为该函数是一个纯函数


在严格模式下,虽然不能监控到具体的副作用代码,但它会将不能具有副作用的函数调用两遍,以便发现问题。(这种情况,仅在开发模式下有效)


  • 检测过时的 context API


Profiler 性能分析工具


分析某一次或多次提交(更新),涉及到的组件的渲染时间


火焰图:得到某一次提交,每个组件总的渲染时间以及自身的渲染时间


20210330155833848.png


排序图:得到某一次提交,每个组件自身渲染时间的排序


20210330155848548.png


组件图:某一个组件,在多次提交中,自身渲染花费的时间

相关文章
|
10月前
|
存储 缓存 监控
如何避免React性能问题
【4月更文挑战第9天】 提升React应用性能的关键策略包括:最小化渲染,如使用`React.memo`和`PureComponent`;优化列表渲染,如使用虚拟化和`key`属性;代码分割以按需加载;避免内联函数和对象;优化state和props;使用Profiler分析性能;减少网络请求;谨慎使用第三方库;考虑服务端渲染或静态网站生成;并保持应用更新。持续监控和调整是性能优化的重要部分。
76 8
|
10月前
|
前端开发 JavaScript UED
使用React Hooks优化前端应用性能
本文将深入探讨如何使用React Hooks来优化前端应用的性能,重点介绍Hooks在状态管理、副作用处理和组件逻辑复用方面的应用。通过本文的指导,读者将了解到如何利用React Hooks提升前端应用的响应速度和用户体验。
|
10月前
|
JavaScript 前端开发 API
详解React与Vue的性能对比
详解React与Vue的性能对比
405 0
|
4月前
|
存储 缓存 JavaScript
如何优化React或Vue应用的性能
需要注意的是,性能优化是一个持续的过程,需要根据具体的应用场景和性能问题进行针对性的优化。同时,不同的项目和团队可能有不同的优化重点和方法,要结合实际情况灵活运用这些优化策略,以达到最佳的性能效果。
159 51
|
4月前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
72 1
|
4月前
|
JavaScript 前端开发 测试技术
React和Vue的性能对比如何?
需要注意的是,性能不仅仅取决于框架本身,还与开发者的代码质量、架构设计以及项目的优化程度等密切相关。因此,在评估性能时,应该综合考虑多个因素,而不是仅仅局限于框架之间的比较。
294 1
|
4月前
|
JavaScript 前端开发 算法
在性能上,React和Vue有什么区别
【10月更文挑战第23天】在性能上,React和Vue有什么区别
47 1
|
4月前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
86 0
|
10月前
|
监控 前端开发 API
如何优化React性能?
【4月更文挑战第9天】提升React应用性能的关键策略包括:使用React.memo和PureComponent防止不必要的重渲染;实施代码分割减少初始加载时间;借助React Profiler定位性能问题;优化state和props以减小大小和复杂性;设置列表项的key属性;避免内联函数和对象;自定义shouldComponentUpdate或React.memo比较函数;使用虚拟化技术渲染大量列表;通过Context API共享数据;以及利用服务端渲染加速首屏加载。不断监控和调整是优化的核心。
79 9
|
5月前
|
JSON 前端开发 JavaScript
【简单粗暴】如何使用 React 优化 AG 网格性能
【简单粗暴】如何使用 React 优化 AG 网格性能
94 3