当前位置: 首页 > news >正文

网站建设交付形式网址缩短生成链接

网站建设交付形式,网址缩短生成链接,asp源码网站,怎么做淘宝网站赚钱技巧在 Vue 3.x 中,shallowReactive 和 shallowRef 是两个用于创建浅层响应式数据的 API。它们与 reactive 和 ref 类似,但在处理嵌套对象时的行为有所不同。以下是它们的详细解读和示例。 1. shallowReactive 作用 shallowReactive 创建一个浅层响应式对…

在 Vue 3.x 中,shallowReactive 和 shallowRef 是两个用于创建浅层响应式数据的 API。它们与 reactive 和 ref 类似,但在处理嵌套对象时的行为有所不同。以下是它们的详细解读和示例。

1. shallowReactive

作用

shallowReactive 创建一个浅层响应式对象,只有对象的顶层属性是响应式的,嵌套对象的属性不会转换为响应式。

使用场景

  • 当你只需要对象的顶层属性是响应式,而不关心嵌套对象的响应性时。

  • 当嵌套对象的响应性转换可能带来性能开销时。

示例

import { shallowReactive, effect } from 'vue';const state = shallowReactive({foo: 1,nested: {bar: 2,},
});effect(() => {console.log('foo changed:', state.foo); // 响应式
});effect(() => {console.log('nested.bar changed:', state.nested.bar); // 非响应式
});state.foo = 10; // 触发第一个 effect
state.nested.bar = 20; // 不会触发第二个 effect

解释:

  • state.foo 是响应式的,修改它会触发依赖更新。

  • state.nested.bar 不是响应式的,修改它不会触发依赖更新。


2. shallowRef

作用

shallowRef 创建一个浅层响应式引用,只有 .value 属性本身是响应式的,而 .value 内部的属性不会转换为响应式。

使用场景

  • 当你只需要 .value 是响应式的,而不关心 .value 内部属性的响应性时。

  • 当 .value 是一个复杂对象,且不需要深度监听时。

示例

import { shallowRef, effect } from 'vue';const count = shallowRef({value: 1,
});effect(() => {console.log('count changed:', count.value.value); // 非响应式
});count.value.value = 10; // 不会触发 effect
count.value = { value: 20 }; // 触发 effect

解释:

  • count.value 是响应式的,修改它会触发依赖更新。

  • count.value.value 不是响应式的,但直接修改 count.value 会触发依赖更新。


3. shallowReactive 与 shallowRef 的区别

特性shallowReactiveshallowRef
作用对象对象任意值(通常用于对象或复杂数据)
响应式范围只有顶层属性是响应式的只有 .value 是响应式的
嵌套对象处理嵌套对象的属性不是响应式的.value 内部的属性不是响应式的
典型使用场景只需要顶层属性响应式的对象只需要 .value 响应式的引用

4. shallowReactive 与 reactive 的对比

reactive 的深度响应式

import { reactive, effect } from 'vue';const state = reactive({foo: 1,nested: {bar: 2,},
});effect(() => {console.log('nested.bar changed:', state.nested.bar); // 响应式
});state.nested.bar = 20; // 触发 effect
  • reactive 会将整个对象及其嵌套属性都转换为响应式。

shallowReactive 的浅层响应式

import { shallowReactive, effect } from 'vue';const state = shallowReactive({foo: 1,nested: {bar: 2,},
});effect(() => {console.log('nested.bar changed:', state.nested.bar); // 非响应式
});state.nested.bar = 20; // 不会触发 effect
  • shallowReactive 只将顶层属性转换为响应式,嵌套属性保持不变。


5. shallowRef 与 ref 的对比

ref 的深度响应式

import { ref, effect } from 'vue';const count = ref({value: 1,
});effect(() => {console.log('count.value changed:', count.value.value); // 响应式
});count.value.value = 10; // 触发 effect
  • ref 会将 .value 及其内部属性都转换为响应式。

shallowRef 的浅层响应式

import { shallowRef, effect } from 'vue';const count = shallowRef({value: 1,
});effect(() => {console.log('count.value changed:', count.value.value); // 非响应式
});count.value.value = 10; // 不会触发 effect
count.value = { value: 20 }; // 触发 effect
  • shallowRef 只将 .value 本身转换为响应式,内部属性保持不变。


6. 使用场景总结

shallowReactive

  • 适用于只需要顶层属性响应式的对象。

  • 例如:表单数据的顶层字段。

shallowRef

  • 适用于只需要 .value 响应式的引用。

  • 例如:DOM 元素的引用或不需要深度监听的对象。

7. 注意事项

  1. 性能优化

    shallowReactive 和 shallowRef 可以减少不必要的响应式转换,从而提高性能。
  2. 嵌套对象的响应性

    如果需要嵌套对象的响应性,应该使用 reactive 或 ref
  3. .value 的使用

    shallowRef 的 .value 是响应式的,但 .value 内部的属性不是响应式的。

8. 总结

  • shallowReactive 和 shallowRef 是 Vue 3 提供的浅层响应式 API。

  • shallowReactive 只将对象的顶层属性转换为响应式。

  • shallowRef 只将 .value 本身转换为响应式。

  • 它们适用于需要优化性能或不需要深度响应式的场景。

通过合理使用 shallowReactive 和 shallowRef,可以在保证功能的同时优化 Vue 应用的性能。

http://www.yayakq.cn/news/998510/

相关文章:

  • 网站怎么做收录安庆网站建设兼职
  • 东莞网站推广方案企业解决单身问题方案
  • 广州我要做网站无锡seo网站建设费用
  • 什么星网站做调查问卷的重庆网站建设夹夹虫公司.很好
  • 电商网站 厦门哔哩哔哩网页版搜索不了
  • 散热器 东莞网站建设常用的关键词挖掘工具
  • 网站搜索排名和什么有关系如何用ps做网站图标
  • wordpress5.52 php版本没内容的网站怎么优化
  • 杭州响应式网站建设互联网下载安装
  • 为什么要做营销型网站网站视频你懂我意思吧app
  • 海口快速建站公司推荐网页模板免费下载平台
  • 网站建设方案实施网站开发三大元素
  • 深圳网站建设主页文字生成网页链接
  • 河南企业网站推广广州住房和城乡建设厅网站
  • 有哪些网站代做包装毕设lnmpa 搭建wordpress
  • 网站无法链接网页设计制作规范
  • 中企动力做的网站泰安网站建设哪家强
  • 网站设计与建设实验报告青岛专业网站建设定制
  • 郑州网站优化_郑州网站推广_河南网站建设公司_seo外包顾问服务商城小程序
  • 做网站什么主题好百度官方网址
  • 网站里面发消息怎么做超链接长春网站建设电话
  • 网络网站开发策划网站建设价格
  • 邯郸移动网站建设价格网络服务器无响应改进措施或应对策略
  • 长春整站优化健康码哪家公司开发的
  • 网站建设初步策划方案阳西县网络问政平台公众号
  • 深圳网站建设哪家最好襄阳seo
  • 如何设计网站logowordpress精美主题
  • 怎样用c语言做网站盐城网站建设服务
  • html 网站发布贵阳专业建网站
  • 河北网站优化公司济南建设网建筑市场信用信息管理