从定义
数据角度对比
-
ref
用来定义:基本类型数据。 -
reactive
用来定义:对象(或数组)类型数据。 -
备注:
ref
也可以用来定义对象(或数组)类型数据 , 它内部会自动通过reactive
转为代理 -
从原理
角度对比
-
ref
通过类中的的getter
与setter
来实现响应式(数据劫持)。 -
reactive
通过使用 Proxy 来实现响应式(数据劫持), 并通过 Reflect 操作 源对象内部的数据。
-
从使用
角度对比
-
ref
定义的数据:操作数据需要.value
,读取数据时模板中直接读取不需要.value
。 -
reactive 定义的数据:操作数据与读取数据:均不需要
.value
。