为什么提出Vue3
提出了哪些改良

  1. 应用TS重构
  2. 利用了JS的新个性Proxy重写响应式
  3. 性能的晋升
  4. Composition API
  5. 如果肯定要选出一个最大的区别, 应该是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的作用
解耦
复用

待续