shallowReactive

152 阅读1分钟
setup() {
  // 创建一个响应式代理,它跟踪其自身 property 的响应性,但不执行嵌套对象的深层响应式转换 (暴露原始值)。
  const foo = shallowReactive({
    bar: 1,
    baz: { cv: 1 }
  });

  foo.bar++;
  console.log(foo.bar, 'foo.bar'); // 2

  console.log(isReactive(foo.baz), 'isReactive(foo.baz)'); // false

  // 与 reactive 不同,任何使用 ref 的 property 都不会被代理自动解包。
  const countRef = ref(1);
  const countShallowReactive = shallowReactive({ count: countRef });

  console.log(countRef.value === countShallowReactive.count.value); // true

  return { foo };
}