Search
Vue 3 在编译阶段做的优化
编译器给动态节点打上数字标记:
1
2
8
Diff 时只对比变动的部分,跳过其他属性。
静态节点提升到 render 函数之外,VNode 只创建一次,后续渲染直接复用。
事件绑定开启缓存后,函数逻辑没变就认为 prop 没变,避免不必要的更新。
Block 收集内部所有动态子节点。Diff 时直接遍历扁平的动态数组,性能只跟动态节点数量有关。
v-once