VueJs中的shallowRef与shallowReactive的使用比较

news2024/11/24 8:31:09

01

shallowRef()函数

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

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

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

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

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

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

// 会触发更改
state.value = { count: 2 }

02

shallowReactive()函数

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

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

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

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

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

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

总结

shallowReativeshallowRef在某些特殊的应用场景下,是可以提升性能的,前者针对对象,用于浅层作用的响应式数据处理,而后者只处理基本数据类型的响应式,不进行对象的响应式处理

f62d01767b30091c0ee89e03000f6890.jpeg

VueJs中的toRef与toRefs函数的一个比较


edfc5057af691d61ebcf0f345970225b.jpeg

Js 如何为对象拓展一个动态属性


d42c6f8a218792284ac4c296fa544a71.jpeg

Js如何模拟继承机制分别使用Es5和Es6来实现


c0ede290489625963e788ed9d49198c5.jpeg

css如何隐藏垂直滚动条但同时需保持滚动

点击左下角查看更多

75c17059cd79fd1fb19456df73010b8c.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从 JMM 透析 volatile 与 synchronized 原理

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM&#…

信用评分分卡简介introduction of credit score card

背景 随着金融科技初创企业的兴起,过去 5 年中出现了许多新的消费信贷机构,与传统银行展开竞争。他们通常瞄准银行认为规模太小或因金融危机期间发生的后期损失而不得不削减贷款的细分市场。通俗的讲就是消费金融公司瞄准了银行的次贷市场。 这些新的消…

修改Pom文件需要注意的问题

1.从远程nuxaus拉不回来个别包该如何解决 进入仓库目录下,把该包的目录删除了,重新拉 rm -r 包目录 如果还是不行,可能是idea内存不够,尝试关闭暂时不用但是已经打开的项目,减少内存使用,删除包目录重试…

肌电信号采集电路分析

最近在开发肌电信号的采集,表面肌电信号是非常微弱的生物信号,正常人体表面肌电信号赋值为0--1.5mV,主要能量频段集中在10--150Hz。电路主要是根据原始信号,设计相应的放大电路、滤波电路,下面直接放原理图说明。一级放…

生物素点击试剂1255942-07-4,DBCO-PEG4-Biotin,生物素-PEG4-二苯基环辛炔

中英文别名:CAS号:1255942-07-4| 英文名:DBCO-PEG4-Biotin |中文名:二苯基环辛炔-PEG4-生物素,二苯基环辛炔-四聚乙 二醇-生物素物理参数:CASNumber:1255942-07-4Molecular formula:…

2023的网安玩家,会和布洛芬退烧一样“凉”得快吗?

2021年,《数据安全法》《网络安全产业高质量发展三年行动计划》《个人信息保护法》《网络产品安全漏洞管理规定》等政策法规扎堆发布,二级市场网安公司市值一度起飞,网络安全行业如日中天,业内大佬纷纷感慨总算熬出了头&#xff0…

python-MySQL数据库基础(一)数据库基础知识、MYSQL的介绍和安装、数据类型

数据库介绍 数据库(database)简称DB,实际上是一个文件集合,是一个存储数据的仓库,本质上是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作,音乐,…

读书笔记:手写数字识别 ← 斋藤康毅

求解机器学习问题的步骤可以分为“学习”和“推理”两个阶段。本例假设“学习”阶段已经完成,并将学习到的权重和偏置参数保存在pickle文件sample_weight.pkl中。至于是如何学习的,斋藤康毅指出会在后续章节详述。之后,使用学习到的权重和偏置…

Allegro如何利用Create Bound Shape自动画铜皮操作指导

Allegro如何利用Create Bound Shape自动画铜皮操作指导 在做PCB设计的时候,画铜皮操作是时常需要用到的操作,对于非常规角度画铜皮是个比较麻烦的事情,在Allegro升级到了172版本的时候,有个Create Bound Shape命令,画异形铜皮十分快捷,如下图 贴着过孔的边缘画弧形的铜皮…

【进击的算法】基础算法——回溯算法

🍿本节主题:回溯算法 🎈更多算法:深入聊聊KMP算法 💕我的主页:蓝色学者的个人主页 文章目录一、前言二、概念三、例题1.题目:全排列2.解题思路回溯算法的本质问题1:问题2&#xff1a…

linux 解压命令------超详细

目录 一、前期准备: 二、安装finalShell并与虚拟机进行连接 三、上传数据到虚拟机 四、解压命令练习 1. 解压zip包 unzip apache-maven-3.6.3-bin.zip 2. 解压tar.gz包 tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 一、前期准备: 1.final…

Redis命令及其数据类型详解

前面的文章我们讲解过关于Redis的安装: 手把手教你Linux下安装部署Redis,今天我们具体的讲一下Redis的命令及其5种数据类型 Redis命令 Redis命令用于在redis服务上来执行某些特定操作。 这里我们以Linux下的操作为例: 进入到我们Redis的bin目录下&am…

企业档案信息化规划总体框架

按照《中华人民共和国档案法》《企业档案管理规定》《企业档案工作规范》《企业数字档案馆(室)建设指南》等政策文件要求,企业档案信息化建设应从基础设施体系、应用系统体系、档案资源体系、标准规范体系、安全保障体系、组织人才体系六方面…

ARM公司发展史

1. 前言 当前,X86和ARM架构是公认的在商业化进程中表现最优秀的两大架构。之前我们已经介绍了X86架构,今天介绍另一个在近十年大火的架构,ARM。 ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine&#x…

【Java】【系列篇】【Spring源码解析】【二】【整体】【Spring整体流程解析】

本篇文章的目的是希望对Spring运行有个整体上的了解,后面的文章都是基于此12大步骤 读完这篇文章,你可以了解到: 1.spring运行的大致流程,他在这个期间做了哪些事 2.xml方式和注解方式载入BeanDifinition的时机一、Spring的运行的…

AgentTesla 掀起攻击全球各地企业的浪潮

大量带有恶意附件的电子邮件发送到南美洲与欧洲的企业。从 2022 年 8 月 12 日开始针对西班牙、葡萄牙、罗马尼亚和南美洲多个国家的企业进行发送,后续针对德国与阿根廷的企业发起了更大规模的攻击,迄今为止已经发送了超过 26000 封邮件。 感染链 攻击…

[MRCTF2020]Ez_bypass

目录 信息收集 代码审计 第一个判断 第二层判断 传参方式 补充说明 信息收集 打开靶场页面显示给出提示 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[i…

大数据技术架构(组件)6——Hive:流程剖析3

1.1.3、Statistics Job从OperatorTree生成Job的过程:1、对输出表生成MoveTask2、从OperatorTree中的一个根节点向下深度优先遍历3、ReduceSinkOperator标识Map/Reduce界限,多个Job间的界限4、遍历其他根节点,遇到JoinOpeartor合并MapReduceTask5、生成St…

JavaWeb-RequestResponse

JavaWeb-Request&Response 1,Request和Response的概述 Request是请求对象,Response是响应对象。这两个对象在我们使用Servlet的时候有看到: 此时,我们就需要思考一个问题request和response这两个参数的作用是什么? requ…

放假第一二天

假期 # 生活 # 水文 每年放假回家都会发生很多有意义或者说有意思、开心、喜庆的事情,而在我孩童时期那只能是一段段回忆;至于现在则是我朋友圈众多记录中的一条。 但是,从现在开始我想尝试尝试在发朋友圈的基础上再加一个文字叙述&#xff…