vue3是如何变快的

看了李南江老师的课程,将内容做一个记录

  • diff算法优化

vue2diff算法是对节点进行全量对比
vue3.0在创建虚拟dom的时候,会根据DOM中的内容会不会发生变化添加静态标记(patchFlag)
与上次虚拟节点对比的时候之对比带有patch flag的节点,并且可以通过flag的信息得知当前节点要对比的具体内容

  • hoistStatic 静态提升
    vue2中无论元素是否参与更新,每次都会重新创建,然后在渲染
    vue3中对于不参与更新的元素,会做静态提升,只会被创建一次,在渲染的时候直接复用

  • cacheHandlers 事件侦听器缓存
    默认情况下onClick会被视为动态绑定,所以每次都会去追踪它的变化
    但是因为是同一个函数所以没有追踪变化,直接缓存起来复用即可

你可能感兴趣的:(vue3是如何变快的)