vue3中的ref和reactive的区别
ref
作用:都是定义一个响应式的数据,创建一个包含响应式数据的引用对象
语法:const val = ref(initval)
参数:基本类型,也可以是对象类型
实现原理
基本类型:响应式原理是Object.defineProperty的get和set完成
对象类型:内部会转用reactive函数实现响应式
reactive
作用:定义一个对象类型的响应式数据(基本类型不用它,用ref)
语法:const obj = reactive({name: 'xxx'})
参数:接收一个对象(或者数组),返回一个代理对象
实现原理:内部是基于es6proxy实现,通过代理对象操作源对象内部数据进行操作