这是一个可以用临时读取而不引起代理访问/跟踪开销,或是写入而不触发更改的特殊方法,在官方文档里,是不建议保存对原始对象的持久引用
使用场景:用于读取响应式对象的普通对象,对这个普通对象的所有操作,不会引起页面的更新...,如果没有把整个对象对外暴露出去,模板中使用新增的变量是不生效的(针对setup函数形式)
02
markRaw()函数
接收一个原始数据,标记一个对象,使它永远不会再成为响应式对象,也就是数据在逻辑中即使修改变化了...有些值不应该被设置为响应式的,例如复杂的第三方类库或Vue组件对象
[2]....当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能
const foo = markRaw({})
console.log(isReactive(reactive(foo))) // false...与shallowReactive()这样浅层式API使你可以有选择的避开默认的深度响应/只读转换,并在状态关系谱中嵌入原始,非代理的对象
如果把一个嵌套的,没有标记的原始对象设置成一个响应式对象,然后再次访问它