[Medium] Vue3 静态提升
1. What is Static Hoisting in Vue 3?
请解释 Vue3 的静态提升是什么?
在 Vue3 里,所谓的**静态提升(Static Hoisting)**是指编译阶段的一个优化技术。
定义
静态提升是 Vue 3 编译器在编译 template 时,会分析哪些节点完全不依赖 reactive 状态、永远不会改变,然后将这些静态节点抽出来,变成文件顶部的常量,只在初次 render 的时候创建一次,后续重新 render 时就直接重用,这样可以减少 VNode 创建以及 diff 的成本。
工作原理
编译器会分析 template,把完全不依赖 reactive 状态、永远不会变的节点抽出来,变成文件顶部的常量,只在初次 render 的时候创建一次,后续重新 render 时就直接重用。