前言
记录下下笔记,详情请点击以下链接哦
B站上李南江老师课程: www.bilibili.com/video/BV14k…
Vue3.0 六大亮点
- Performance: 性能比Vue2.x快1.2~2倍
- Tree shaking support: 按需编译,体积比Vue2.x更小
- Composition API: 组合API(类似React Hooks)--最大亮点
- Custom Render API: 暴露了自定义渲染API
- Fragment,Teleport(Protal), Suspense: 更先进的组件
Vue3.0 是如何变快的?
-
diff算法优化
- Vue2.x中的虚拟dom是进行全量的对比
- Vue3.0新增了静态标记(PatchFlag),在与上次虚拟节点进行对比时,是对比带有patch flag的节点,并且可以通过flag的信息得知当前节点要对比的具体内容
-
hoistStatic 静态提升
- Vue2.x中无论元素是否参与更新,每次都会重新创建
- Vue3中对于不参与更新的元素,只会被创建一次,之后会在每次渲染时被不停的复用
-
cacheHandlers事件侦听器缓存
- 默认情况下onClick会被视为动态绑定,所以每次都会去追踪它的变化,但是因为是同一个函数,所以没有追踪变化,直接缓存起来复用即可
-
ssr渲染
- 当有大量静态的内容时,这些内容会被当作纯字符推进一个buffer里面,即使存在动态的绑定,会通过模版插值嵌入进去
vue3转化代码: vue-next-template-explorer.netlify.app/