从上一节babel的编译结果可以看出, 虚拟DOM中包含了创建DOM所需的各种信息, 对于首次渲染, 直接依照这些信息创建DOM节点即可.但虚拟DOM的真正价值在于“更新”: 当一个list中的某些项发生了变化....2.2 递归的Diffing在1.2节中的虚拟DOM对象中可以得知: 虚拟DOM树的每个节点通过 children 属性构成了一个嵌套的树结构, 这意味着要以递归的形式遍历和比较新旧虚拟DOM树.2.1..., 并在浏览器空闲时交由浏览器执行这些工作单元, 每个执行单元执行完毕后, 浏览器都可以选择中断渲染并处理其他需要更高优先级处理的工作.浏览器中提供了 requestIdleCallback 方法实现此功能...3.3 Fiber架构基于Fiber构成的虚拟DOM树就是Fiber架构.在3.1节中我们介绍过, 在Fiber节点中有一个重要属性 alternate , 单词意为“备用”.实际上, 在React中最多会同时存在两棵...oldHook.state : initial, queue: [], // 每次执行setState时,将action加入此队列,并在下一次渲染时执行 }; // 下一次渲染时, 获取执行队列并逐步执行