blog icon indicating copy to clipboard operation
blog copied to clipboard

博客,记录平常的所学所想

Results 31 blog issues
Sort by recently updated
recently updated
newest added

## 前言 玩过React的同学都知道,`render()`方法除了第一次组件被实例化,其他情况绝大多数是state改变触发的。 而render方法的执行,所带来的负担就是重新对比`Virtual DOM`(虚拟DOM树),也就是重新执行`Diff`算法,然后把要修改的的DOM重新update。 而我们总是在开发过程中会产生非常多不必要的**重新渲染** 如何减少`render`的触发,是提升项目性能的关键之一。 ## 入手点 减少render的入口在哪?当然是要知道哪些情况会触发render啦~ 根据个人了解,触发render有以下两种情况: 1. 组件实例化 2. state变化、props变化 那么我们从这两点入手 ## 优化 ### Immutable 和 componentShouldUpdate 在[《React和Immutable》](https://github.com/Vibing/blog/issues/2)中,提到了使用`Immutable`配合React的`componentShouldUpdate`生命周期函数来减少不必要的render,效果非常明显,这里就不说了,建议大家一定去[看一下](https://github.com/Vibing/blog/issues/2) **除了使用 Immutable ,还有其他方法来避免render执行吗?** 先看看**正常开发中**,使用setState的情况: ```js constructor(props) {...