React--React中setState方法的理解?

我们知道在react中,setState是调用频率非常高的一个函数。

setState在默认情况下是异步的

我们知道setState的调用是非常频繁的,那么如果setStates是同步执行,那么就意味着只要调用setState就会修改state,而state的变化,就会直接启动diff算法,从而重新渲染页面,这在性能方面的消耗实在是太过夸张。但是如果是异步执行,那么在多次setState之后,将这些操作一起合并执行。降低性能消耗成为可能。

同步情况下的setState

在setTimeout和原生事件中,setState是同步执行的。

调用setState会发生什么

调用setState之后首先会将传入setState的参数和原来的state进行合并,得到新的state,那么这样state就被更新了,因为state的更新就会引起页面的重新渲染,所以,会调用触发所谓的调和过程,react的就以相对高效的方式来自动计算出新旧dom的差异,根据差异最小化来重新构建页面。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Lee
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信