总的来说,vue3的效率提升的原因就是对一些静态的东西做了各种优化:
-
静态的节点会被缓存
-
连续多个的静态节点会被编译成字符串
-
静态的事件处理函数也会被缓存
-
dom树对比的时候只对比动态的节点,.因为vue3将每个dom上的动态节点都以数组的形式保存在block 节点中,对比只需要循环对比两个数组中的动态节点即可
-
对比节点的时候,又会只对比动态的节点内容.比如节点变化前后只有class和value变化了,那就只对比class和value,不会去对比id等属性
vue3以上优化,使得vue3在编译以及渲染的时候的效率都大大提升