1、数据定义角度对比:
- ref用来定义:基本数据类型
- reactive 用来定义: 对象或数组类型数据
注意:ref也可以定义对象或数组类型数据,它内部还是通过reactive转换成代理对象
- 原理角度对比:
- ref通过Object.defineProperty() 的get和set 实现数据的响应式 即(数据劫持)
- reactive 通过Proxy 实现数据响应式的,并通过Reflect 来操作源对象数据的。
- 从使用角度对比:
- ref 定义的数据操作时需要使用 .value, 而插值表达式中使用时,不需要使用 .value
- reactive 定义的数据操作都不需要 .value
- 推荐统一使用 ref