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