温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue中的shallowRef与shallowReactive函数怎么使用

发布时间:2023-04-04 15:30:30 来源:亿速云 阅读:97 作者:iii 栏目:开发技术

这篇文章主要讲解了“Vue中的shallowRef与shallowReactive函数怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中的shallowRef与shallowReactive函数怎么使用”吧!

shallowRef

如果传入基本数据类型,那么shallowRefref的作用基本没有什么区别,也就是浅层的ref的内部值将会原样的存储和暴露,并不会被深层递归地转为响应式

但如果是对象的话,那么就存在区别了的,shallowRef不处理对象类型的数据

其实,它就是只处理基本数据类型的响应式,不进行对象的响应式处理

性能优化,应用场景:如果有一个对象数据,后续功能不会修改该对象中的属性,而是生的对象来替换,那么就可以用shallowRef

shallowRef() 常常用于对大型数据结构的性能优化或是与外部的状态管理系统集成

const state = shallowRef({ count: 1 })
// 不会触发更改
state.value.count = 2
// 会触发更改
state.value = { count: 2 }

shallowReactive

浅层作用的响应式数据处理,也就是只处理第一层对象的数据,在往下嵌套的数据,操作数据是不起作用的

只考虑对象第一层的数据响应式,在第一层嵌套下的数据不考虑

reactive()不同,没有深层及的转换,一个浅层响应式对象里只有根级别的属性是响应式的,属性的值会被原样存储和暴露,这意味着值为ref的属性不会被自动解构的

性能优化:具体应用场景:

如果有一个对象数据,数据结构比较深,复杂,但变化时只需要外层属性变化,那么就可以使用shallowReactive,如下示例代码所示

const state = shallowReactive({
  foo: 1,
  nested: {
    bar: 2
  }
})
// 更改状态自身的属性是响应式的
state.foo++
// ...但下层嵌套对象不会被转为响应式
isReactive(state.nested) // false
// 不是响应式的
state.nested.bar++

感谢各位的阅读,以上就是“Vue中的shallowRef与shallowReactive函数怎么使用”的内容了,经过本文的学习后,相信大家对Vue中的shallowRef与shallowReactive函数怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI