Vue 3 中 ref 和 reactive 有什么区别?
区分值容器、响应式代理和解构时的注意事项。
参考答案
ref 可以包装原始值或对象,JavaScript 中通过 .value 读写;对象值通常会转换为深层响应式对象。reactive 返回对象的响应式 Proxy,不能直接用于数字、字符串等原始值。
从 reactive 对象解构原始值,会得到当时的普通值,失去与原属性的响应式连接;需要保持连接时可以使用 toRef 或 toRefs。
替换整个对象时,ref.value = newObject 更直接。模板中 ref 的自动解包有适用条件,数组、集合和嵌套位置不能一概而论。