vue3.0的变化
1.速度更快
a.虚拟dom重写
b.优化插槽生成
2.0中如果父组件更改的数据也传递到了子组件,在子组件也会重新渲染,但是3.0可以单独渲染父组件的数据和子组件的数据
c.静态树提升
3.0可以检测到什么是静态的,就会跳过不重新渲染,降低了渲染成本
d.静态属性提升
f.基于Proxy的观察者机制
2.0是基于Object.defineproperty的get set实现的,有一些缺陷,比如对于响应对象的属性的增加和删除不友好,3.0就解决了这个问题,但是由于使用了Proxy,对ie更加不友好了。
2.体积更小
大小压缩后降低了,实现了按需引入,在打包的时候,没有使用的包也不会打包
3.更易维护
a.从flow转向type
使用ts进行了重构,ts的静态类型检测以及ts的表现远远比flow要好
b.解耦,使内容更加模块化
c.编译器重写
有错误代码时会给出具体位置
4.更容易面向原生
运行时与平台无关
5.更易于开发使用
a.exposed reactivity API
提供独立的api创建和监听响应的状态
b.可以轻松的监听到为什么要重新渲染组件
c.支持ts,js是弱类型语言,在运行时才会发现错误,ts在编译时就能发现错误