Vue Composition API怎么使用 shallowReactive 创建浅层对象响应式

雨墨君_2077

雨墨君_2077

2026-08-18

291人浏览

原创

shallowreactive创建仅顶层属性响应的对象:state.a修改触发更新,state.b.c修改不触发;适用于外层稳定、顶层字段频繁变更且内层静态的场景。

vue composition api怎么使用 shallowreactive 创建浅层对象响应式

用 shallowReactive 创建浅层响应式对象,核心就一点:只让对象第一层属性具备响应性,内部嵌套对象保持“普通”状态,不被 Vue 的响应式系统追踪。

什么时候该用 shallowReactive

适合外层结构稳定、但顶层字段频繁变动的场景。比如一个配置对象,整体结构不变,但开关状态、主题色、是否启用等顶层字段经常切换;而深层的默认值、模板结构、静态 schema 不会动态修改,也不需要监听变化。

  • 数据本身嵌套很深,但实际只改最外层字段(如 isActive、theme)
  • 性能敏感,避免对大量静态嵌套对象做 Proxy 包装和依赖收集
  • 你明确知道内层属性不会被直接修改,或修改后会整体替换(这时用 shallowRef 更合适)

怎么写才生效

直接导入并传入一个普通对象,返回的就是浅响应式代理。注意:它不带 .value,用法和 reactive 一样,是“对象直用”风格。

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习