shallowreactive 是 vue 3 中独立于 reactive 的浅层响应式 api,仅对对象第一层属性建立响应式追踪,嵌套对象保持非响应式;适用于顶层状态变更驱动更新的场景,如表单控制、大型数据源整体替换等。

Vue 3 中,shallowReactive 不是用来“配合”或“改造” reactive 的,而是它自己的独立 API —— 它是 reactive 的浅层替代方案,二者互不嵌套、不可混用。你不需要也不应该把 reactive 和 shallowReactive 串起来用(比如 shallowReactive(reactive(...))),那样既无意义,也破坏设计意图。
shallowReactive 是什么
它创建一个仅对对象第一层属性做响应式追踪的代理对象。内部嵌套的对象、数组、Map 等,保持原样,不会被递归转为响应式。
-
顶层赋值/修改会触发更新:如
state.count = 5、state.config = { theme: 'dark' } -
深层修改不会触发更新:如
state.user.profile.name = 'Alice'—— 值变了,但视图不刷新 - 返回的是普通对象语法(不用 .value),但它是 Proxy 代理,不是原始对象
怎么正确使用 shallowReactive
直接导入并传入普通对象即可,和 reactive 用法相似,但语义不同:
vue-composition-api-best-practices
Vue 3 组合式 API 与
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章
