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

对vue3/core源码ref.ts文件API的认识过程

对toRef()API的认识的过程:

最开始认识toRef()是从vue3源码中的ref.ts看见的,右侧GPT已经举了例子

然后根据例子,在控制台输出ref对象是什么样子的:

这就是ref对象了,我们根据对象中有没有__v_isRef来判断是不是一个ref对象,当对象存在且__v_isRef === true的时候他就判定为是一个ref对象然后返回true.

对shallowRef()API的认识的过程:

这是shallowRef的源码:

什么是shallowRef?

shallowRef用来创建一个浅层的ref对象,浅层ref只会对对象的第一层属性进行响应式处理,不会递归处理对象内部的属性.

对shallowRef()API的认识的过程:

对unRef()API的认识的过程:


 

对customRef()API的认识的过程:

源码:

文档解释:

防抖执行效果:

对toRefs()API的认识的过程:

源码:

toRefs()API的作用是:

// 创建一个Ref对象
const myRef = ref(1)

// 创建一个响应式对象
const myReactiveObj = reactive({ count: 3 })

// 修改Ref对象的值
myRef.value = 8

// 修改响应式对象的属性
myReactiveObj.count = 8

// 访问Ref对象的值
console.log(myRef.value) // 输出8

// 访问响应式对象的属性
console.log(myReactiveObj.count) // 输出8

将reactive所创造的响应式对象改为ref对象.

对toRefs()API的认识的过程:

源码:

GPT举例子:

const reactiveObj = reactive({ count: 3 })

// 使用toRef将响应式对象的属性转换为Ref对象
const countRef = toRef(reactiveObj, 'count')

// 修改Ref对象的值
countRef.value = 8

// 此时reactiveObj的count属性也会被更新为8
console.log(reactiveObj.count) // 输出8

toref()和torefs有什么区别呢?

toref用于将一个响应式对象的特定属性改为ref对象,

torefs用于将一个响应式对象的所有响应式属性啊ref对象,且返回一个包含所有转换后属性的对象

http://www.lryc.cn/news/353830.html

相关文章:

  • AWS迁移与传输之AWS DMS
  • 【ML Olympiad】预测地震破坏——根据建筑物位置和施工情况预测地震对建筑物造成的破坏程度
  • kafka监控配置和告警配置
  • 关于智慧校园安全用电监测系统的设计
  • Flutter 中的 FormField 小部件:全面指南
  • 数据库DCL语句
  • mysql-日志管理-error.log
  • 弱密码系统登录之后强制修改密码
  • 解释Python中的多线程和多进程编程
  • 【LeetCode】【1】两数之和(1141字)
  • 【论文速读】|探索ChatGPT在软件安全应用中的局限性
  • 部门来了个测试开发,听说是00后,上来一顿操作给我看蒙了...
  • 小程序-修改用户头像
  • PCIe总线-事物层之TLP请求和完成报文格式介绍(六)
  • 从 0 开始实现一个网页聊天室 (小型项目)
  • Tomcat部署项目的方式
  • 推荐一个快速开发接私活神器
  • 输入输出(4)——C++的输入输出运算符
  • [图解]产品经理创新模式01物流变成信息流
  • npm 上传包
  • Python 小游戏——贪吃蛇
  • 人工智能方面顶会
  • JRT1.7发布
  • Python错误集锦:xlwt写入表格时提示exception-unexpected-data-type-class-bytes
  • 赶紧收藏!2024 年最常见 20道 Redis面试题(八)
  • Flowable第一次启动MYSQL8.0版本(踩坑)
  • Java基础的语法---StringBuilder
  • 【微服务】springboot 构建镜像多种模式使用详解
  • 手写tomcat(Ⅲ)——tomcat动态资源的获取
  • 软件测试面试题(四)