shallowRef和shallowReactive
一,前言
1.相对于ref
和reactive
,shallowRef
和shallowReactive
创建的数据是浅响应式的
二,shallowRef
介绍
1.shallowRef
可以创建一个跟踪自身 .value
变化的 ref
,但不会使其值也变成响应式的
2.当使用shallowRef
为一个基础类型数据创建响应性时,行为是和ref
一样的。
3.不同的是,当使用shallowRef
为复杂类型创建响应性时,修改深层属性,不具备响应性
const a = shallowRef({b:1})
a.value.b = 2 //视图不会更新
console.log(a.value) //{b : 2} 但是能追踪到值得变化a.value={b:2} //一整个替换时,视图会变化
三,shallowReactive
介绍
1.创建一个响应式代理,它跟踪其自身 property
的响应性,但不执行嵌套对象的深层响应式转换 (暴露原始值)
2.相对于reactive
,shallowReactive
只有最外层的属性是响应的
const state = shallowReactive({foo: 1,nested: {bar: 2}
})// 改变 state 本身的性质是响应式的
state.foo++
// ...但是不转换嵌套对象
isReactive(state.nested) // false
state.nested.bar++ // 非响应式
shallowRef和shallowReactive相关推荐
- vue3中ref、reactive、shallowRef、 shallowReactive、toRaw、unref、toRef、toRefs、customRef使用与区别
ref ref toRef 普通ref对象 特殊ref对象 不会和原始对象挂钩 创建的ref对象,与原始对象挂钩 重新渲染 不会触发渲染 -普通ref对象 不会和原始对象挂钩 重新渲染 如下面的例子中 ...
- vue3.0组件之父传子,子传父,父传孙
父组件<template> <!-- <div>{{name}}</div> {{computedsx}} {{sum}}<button @click= ...
- 【Vue3】李南江老师讲解--个人笔记(二)ref 和 reactive详解
[vue3笔记之 ref 和 reactive ] 实现响应式数据的方法 可以使用 ref,reactive定义响应式数据,本质上就是将传入的数据包装成一个Proxy对象. 使用 reactive 必 ...
- vue3 效率的提升、composition-api 和 ref 详解
vue3 效率的提升.composition-api 和 ref 详解 文章目录 vue3 效率的提升.composition-api 和 ref 详解 vue3 效率的提升 优化diff算法 hoi ...
- VUE3对比VUE2的优势及新特性原理
1.Vue3.0新特性 性能比Vue2.x快1.2~2倍 原因1: diff方法优化: vue2中的虚拟dom是全量的对比(每个节点不论写死的还是动态的都会比较) vue3新增了静态标记(patchf ...
- vue2升级vue3知识点
echarts自适应大小 myChart.setOption(option)window.onresize = function () {myChart.resize()} setup在create之 ...
- 历时一个月!50+Vue经典面试题详解,值得收藏!
大家好,我是若川.持续组织了8个月源码共读活动,感兴趣的可以 点此加我微信ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...
- vue2+vue3天禹老师版复习笔记
文章目录 1.Vue2基础 1.1.初始Vue 1.2.模板语法 1.3.数据绑定 1.4.MVVM模型 1.5.el和data的两种写法 1.6.回顾defineProperty方法 1.7.数据代 ...
- Vue3的新特性变化,上手指南!
文章目录 一.Vue3相比Vue2,更新了什么变化? 二.Proxy 代理响应式原理 三.组合式 API (Composition API) setup()函数: ref()函数 reactive() ...
最新文章
- [译] 数据可视化教程:基于Google Sheets 和 RStudio Shiny 建立实时仪表盘
- 80行代码搞定某电影网站所有的下载资源
- 【Python】青少年蓝桥杯_每日一题_6.03_空心三角形图案
- 程序安装后依然是老版主页的修改办法
- 互联网1分钟 |0103
- 操作系统/etc/hosts文件配置
- 安富莱v6开发板网口通讯_安富莱嵌入式周报第170期:2020.07.202020.07.26
- matlab如何提高运算速速,如何提高以下程序的运算速度及有选择性的保存数据?...
- 昇腾AI处理器软件栈--任务调度器(TS)
- win11beta渠道升级的如何改为正式版 Windows11beta版升级正式版的步骤方法
- TP-LINK WR841N V8刷OpenWRT
- mysql 表单插入数据_PHP表单数据写入MySQL数据库的代码
- 移动通信原理学习笔记之三——抗衰落和链路性能增强技术
- R语言 最新TwoSampleMR、MRInstruments包安装教程
- 每个国家对应的语言Locale和国家代码对照表
- 邮储银行的规模有多大?凭什么可以成为第6大国有银行?
- FFMPEG转码及切片
- 吵架公约,我不在担心婚后。
- SEO迅搜文章采集器V1.4
- 计算机类SCI杂志排名
热门文章
- 微信收费的真相,你不可不知道!
- 如何才能进阶高级Java程序员?
- Error: semaphore wait has lasted 大于 600 seconds导致数据库实例重启
- EOS开发基础之二:使用cleos命令行客户端操作EOS(钱包wallet基础操作)
- 【Lighthouse教程】这个七夕,怎样秀才出彩?
- 区块链行业的一次“里程碑时刻”…
- java测试模拟网页点击,httpunit爬虫模拟搜索详解与实战
- 计算机语言发展的历程概述
- Kubernetes CRD (CustomResourceDefinition) 自定义资源类型
- html实体转换,字符串html实体转换