watcheffect自动追踪函数内读取的响应式数据并立即执行,依赖变化时重新运行,适用于ui更新、日志、请求等轻量场景;支持oninvalidate清理异步副作用,不提供新旧值对比,区别于需显式声明依赖的watch。

watchEffect 会自动追踪它内部读取的响应式数据,无需手动列依赖,初始化时立即执行,后续只要所用到的响应式值变化,就重新运行。它适合“值一变就做事”的轻量场景,比如更新 UI、发请求、打日志。
自动收集依赖,用到才监听
它只监听函数体中实际访问过的响应式变量。比如:
- 写了 count.value 和 name.value,就只追踪这两个 ref
- 用了 if (show) { state.msg },只有 show 为 true 时,state.msg 才被纳入依赖
- 没读取的响应式属性,哪怕在同一对象里,也不会触发重运行
处理异步请求要防竞态
watchEffect 不等待 Promise 结束,多次触发可能并发执行,旧响应覆盖新结果。稳妥做法是:
vue-composition-api-best-practices
Vue 3 组合式 API 与
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章
