一、ref
与 reactive
的核心区别
使用场景
ref:处理基本数据类型;需要重新赋值对象(如从api获取新数据)
reactive:处理复杂的嵌套对象或者数组,不需要整体替换,直接访问属性(避免频繁写.value)
二、watch
与 watchEffect
的核心区别
watch:需要对比旧值和新值(如表单修改检测)
需要惰性执行(如只有特定条件触发)
watcheffect:依赖项不明或者动态变化(如多个状态组合计算)、需要立即执行并响应式追踪(如初始化副作用)
三、组合使用技巧
ref
+ reactive
混合使用:
watch
监听多个源:
停止副作用:
四、性能与陷阱
总结
-
ref
vsreactive
:根据数据类型和是否需要重新赋值选择。 -
watch
vswatchEffect
:根据是否需要旧值或精确控制依赖选择。 -
黄金法则:优先用
ref
处理简单数据,用reactive
管理复杂状态;精确监听用watch
,自动依赖用watchEffect
。