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