react
React
是 自顶向下的进行递归更新 的
- Fiber 是 React 16 中新的协调引擎。它的主要目的是使 Virtual DOM 可以进行增量式渲染
React Fiber 的目标是提高其对动画、布局和手势等领域的适用性。它的标题功能是增量渲染:能够将渲染工作拆分为块并将其分散到多个帧上。其他主要功能包括能够在新更新到来时暂停,中止或重用工作;为不同类型的更新分配优先级的能力;和新的并发基元
vue
-
vue2
的最小更新粒度为 组件级别 -
vue3
缩小更新粒度 最大化利用的模板信息,把 更新的粒度 从 组件 缩小到 代码块 -
tip: Vue 在更新 DOM 时是异步执行的
-
react
因为先天的不足——无法精确更新,所以需要react fiber
把组件渲染工作切片;而vue
基于数据劫持,更新粒度很小,没有这个压力; -
react fiber
这种数据结构使得节点可以回溯到其父节点,只要保留下中断的节点索引,就可以恢复之前的工作进度;