调和阶段:
在react中,当组件的props或state发生变化时,react会开始一个新的渲染过程。这个渲染过程包括几个阶段,其中之一就是调和阶段。在这个阶段,react会比较新旧虚拟DOM树之间的差异,并计算出需要更新的最小集合。
setState干了什么?
- 触发更新:当你调用setState时,你实际是告诉React,组件的某个状态已经挂边,React需要将这个改变反映到UI上。setState是异步的,意味着React不会立即更新组件,而是这个更新计划到未来某个时间点。
- 合并状态:如果你多次在很短的时间内调用setState,React会将setState进行合并,而不是执行他们每次调用的副作用。有助于避免不必要的重新渲染。
- 进入调和状态:一旦React决定更新组件,它会进入调和阶段。React会基于新的state重新渲染组件。react会就算出新旧虚拟DOM之间的差异,并准备必要的DOM更新。
- DOM更新:在调和阶段之后,React会执行DOM更新,以反映组件的最新状态。这个步骤是在React的提交阶段完成的。
总结:setState在react的调和阶段中触发了组件的更新过程,但这个更新本身是在React的调和和提交阶段中完成的
标签:调和,DOM,更新,React,阶段,组件,setState From: https://blog.csdn.net/Feng_warm/article/details/140716282