为什么提出Vue3
提出了哪些改良
- 应用TS重构
- 利用了JS的新个性Proxy重写响应式
- 性能的晋升
- Composition API
- 如果肯定要选出一个最大的区别, 应该是Composition API
setup配置项
在Vue3中, 为了向前兼容, 不影响之前的配置项
发明了一个新的配置项setup, 所有的Composition API都能够在setup中应用
setup是一个函数
返回一个对象, 对象中定义的属性, 办法在模板中间接应用
返回渲染函数(不罕用)
ref函数、reactive函数
在setup函数中, 如果要实现响应式, 须要借助
- ref函数: 实现一般类型数据的响应式
reactive函数: 实现援用类型数据的响应式
像ref, reactive, computed从Vue对象从导出的函数, 就是composition API
ref函数: 实现值类型数据的响应式
将值类型数据(一般数据 String, Number, Boolean, undefined, null)
ref函数: 接管一般类型的数据作为参数, 返回一个RefImpl对象
对于援用类型数据. 如对象, 数组
应用ref函数比拟麻烦, 在拜访时, 每次都须要.value赋值
reactive函数 援用类型数据. 如对象, 数组
- 从定义的角度
- ref: 次要用于根本数据类型
- reactive: 次要用于援用数据类型
- 从实现的角度
- ref: 通过Object.defineProperty的get和set来实现响应式
- reactive: 通过Proxy来实现数据劫持, 通过reflect操作外部属性
- 从应用的角度
- ref: 须要通过.value操作数据
- reactive: 不须要.value, 间接操作数据
hooks函数
hooks实质上还是一种函数, 将多个Composition API封装, 实现某个特定性能
hooks的作用
解耦
复用
待续