vue3 reactive 重新赋值后视图不更新

1,195 阅读1分钟

学习文档:vue3中reactive赋值,不能响应式变化 - 掘金 (juejin.cn)

原因

  • vue3官方文档说明:reactive() 返回一个对象的响应式代理
  • 为什么不生效: 每次直接把一个对象或者数组赋值给reactive创建的对象或数组时,导致reactive创建的响应式对象被新赋值的直接代理,再vue3中操作的都是proxy代理对象,所以失去了响应式
  • 在vue3中不管是对象还是数组都不能直接将整个数据进行赋值,这样会造成reactive定义的响应式失效
  • 通俗说: 就像对象的地址被替换,就不是原来的那个对象了