Vue中ref、reactive、toRef、toRefs的区别

一、ref、reactive

setup 函数中默认定义的变量并不是响应式的(即数据变了以后页面不会跟着变),如果想让变量变为响应式的变量 ,需要使用 ref reactive 函数修饰变量。

  • ref 函数可以把基本类型变量变为响应式引用
  • reactive 函数可以把复合类型的变量变为响应式的引用。

1.ref

  • ref用于为数据添加响应式状态,本质是将一个数据变成一个对象,这个对象具有响应式特点。
  • 获取数据值需要加.value
  • 因为reactive只能传入对象类型的参数,所以基本数据类型添加响应式状态只能用ref(ref也可以定义复杂的数据)
    ref底层使用的是proxy代理函数实现双向绑定,proxy 函数必须要接收一个对象,如果想修改 name 的值,需要使用 name.value。

2.relative

二、toRef、toRefs

1.toRef:

  • 只希望转换一个reactive对象中的属性为ref, 那么可以使用toRef的方法
  • toRef接收两个参数,第一个参数是哪个对象,第二个参数是对象的哪个属性。
    toRef当数据发生改变时,界面不会自动更新
  • 获取数据值需要加.value

2.toRefs

  • 我们希望将对象的多个属性都变成响应式数据,并且要求响应式数据和原始数据关联,并且更新响应式数据的时候不更新界面,就可以使用toRefs,用于批量设置多个数据为响应式数据。
相关推荐
IT利刃出鞘17 小时前
HTML--最简的二级菜单页面
前端·html
yume_sibai18 小时前
HTML HTML基础(4)
前端·html
给月亮点灯|18 小时前
Vue基础知识-Vue集成 Element UI全量引入与按需引入
前端·javascript·vue.js
三思而后行,慎承诺18 小时前
Reactnative实现远程热更新的原理是什么
javascript·react native·react.js
知识分享小能手18 小时前
React学习教程,从入门到精通,React 组件生命周期详解(适用于 React 16.3+,推荐函数组件 + Hooks)(17)
前端·javascript·vue.js·学习·react.js·前端框架·vue3
面向星辰18 小时前
html音视频和超链接标签,颜色标签
前端·html·音视频
lxh011318 小时前
LRU 缓存
开发语言·前端·javascript
yangzhi_emo19 小时前
ES6笔记5
前端·笔记·es6
wow_DG19 小时前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(二):虚拟 DOM 与 Diff 算法
开发语言·javascript·vue.js·算法·前端框架