vue3中的工具函数 isRef() 和 unref()

2023-10-26

1.isRef()
检查某个值是否为 ref。主要用于检测类型

function isRef<T>(r: Ref<T> | unknown): r is Ref<T>

请注意,返回值是一个类型判定 (type predicate),这意味着 isRef 可以被用作类型守卫:

let foo: unknown
if (isRef(foo)) {
  // foo 的类型被收窄为了 Ref<unknown>
  foo.value
}

2.unref()
如果参数是 ref,则返回内部值,否则返回参数本身。这是 val = isRef(val) ? val.value : val 计算的一个语法糖。

function unref<T>(ref: T | Ref<T>): T
function useFoo(x: number | Ref<number>) {
  const unwrapped = unref(x)
  // unwrapped 现在保证为 number 类型
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3中的工具函数 isRef() 和 unref() 的相关文章

随机推荐

  • C语言编程获取PE文件File_Header内容

    include
  • Js逆向练习制造Token与Id

    前言 闲来无聊 把 Pyhton3网络爬虫开发实战 第二版 看完了Js逆向部分 最后的实战部分感觉挺有挑战性的 正好崔佬也有详细的教程 平时的逆向都是野路子 刚好快回学校了有时间 那为什么不自己动手下呢 下面记录下过程 只会更加详细 观察页
  • [从零开始学习FPGA编程-33]:进阶篇 - 基本时序电路-寄存器(Verilog语言)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 寄存器介绍 1 1 时序电路的两大特征
  • Qt 常用设计模式-单例模式(Singleton)

    单例 顾名思义 为了保证一个类仅有一个实例 并提供一个可以访问它的全局访问点 避免一个全局使用的类频繁的创建和销毁 节省系统资源 提高程序效率 如何创建唯一的实例 如果是A a new A 但是这么做的话就会有多个实例 所以我们需要把构造函
  • 记一个好用的xshell替代工具-mobaxterm

    https zhuanlan zhihu com p 56341917 现今软件市场上有很多终端工具 比如 secureCRT Putty telnet 等等 secureCRT其实也是一款很强大的终端工具 良许也使用过它很长时间 但是 它
  • 合法三角形数量

    题目1 给定一个n个正整数的数组a 问在其中取三个数 同时满足以下两个条件的取法有多少个 1 这三个数能构成三角形 即任意两数之和大于第三数 2 这三个数构成的三角形既不是等边三角形 也不是直角三角形 数据范围 3 lt n lt 2000
  • 通过 kubectl 查看 K8s 内节点、Pod 资源使用情况

    一 kubectl describe node 可通过该命令查看 Pod 在节点上的资源分配情况 Request Limits 如下 product 表示生产环境 kubectl describe node l env product 执行
  • 024-从零搭建微服务-系统服务(六)

    写在最前 如果这个项目让你有所收获 记得 Star 关注哦 这对我是非常不错的鼓励与支持 源码地址 后端 https gitee com csps mingyue 源码地址 前端 https gitee com csps mingyue u
  • Hibernate自动建表(使用DDL语句)

    Gd上次和大家谈到使用DDL语句实现自动建表失败的问题 过了几天再回头看果然思路就变得清晰许多 原来是xxx hbm xml文件的配置上出了问题 因为上次没有用Junit进行测试 所以没有看明白问题的描述 这里不得不说一句 Junit真是个
  • vue cli3 打包后访问不到页面 Failed to load resource: the server responded with a status of 404 (Not Found)

    在根目录下新建文件vue config js 配置打包资源路径 默认是 如果没有特殊需求就不要修改 代码如下 const path require path function resolve dir return path join dir
  • 于g2o新版本编译出错的原因及解决办法

    在githubg2o的github地址上面down了最新的版本进行安装 编译十四讲第六讲的代码出错 报错信息 home hri SLAM slambook ch6 g2o curve fitting main cpp In function
  • Linux查看与设置CPU频率

    Gnome下查看 1 在Gnome菜单栏的底部面板上点右键 gt 添加到面板 gt CPU频率范围监视器 然后gnome面板上就会出现此小工具 并显示当前的频率 点左键可出现可调节的频率 命令行下查看 1 安装cpufrequtils 此软
  • AD数据采集卡的输入悬空电压

    现象 用AD数据采集卡进行模拟电压信号采集时 在输入端悬空时 其采集到的信号与有信号输入的端口采集到的信号是类似的 而不是随机噪声 如图1所示 首通道是接入信号的 某通道悬空 图1 实际信号采集结果 这里说一下我所了解到的一种原因 大多数A
  • 详解二:CentOS下编译安装PHP开发环境,配置LAMP

    下载以上软件后 如果用户用的是CentOS最简版 也就是minimal版 需要安装支持软件 yum y install libxml2 yum y install libxml2 devel yum y install zlib yum y
  • 以太坊通证标准包括(ERC20、ERC721、ERC223、ERC621、ERC827、RFC、EIP)

    最著名的两个以太坊通证标准是代币标准ERC20和数字资产标准ERC721 在本文中 除了介绍这两个流行的ERC以太坊标准 还将介绍其他一些针对特定应用场景的ERC20改进标准 ERC223 ERC621和ERC827 什么是ERC ERC代
  • Zotero入门教程

    文章目录 一 生成Bibliography 二 Zotero文献自动导入 1 为什么要使用SCI HUB 2 如何自定义PDF解析器 三 在Zotero中添加Extension 四 文件存储位置的修改 五 markdown笔记功能 一 生成
  • Node.JS是什么

    1 Node JS是什么 Node js 不是一种独立的语言 Node js 也不是JavaScript 框架 Node js 是一个让 JavaScript 运行在服务端的开发平台 Node js 是一个让 JavaScript 运行在浏
  • CTFSHOW WEB 红包题第二弹

    1 题目 2 解题 2 1 查看源码 按F12发现提示 cmd 2 2 尝试传参 通过url传参数cmd aaa http 2799b166 4390 45e9 a3f4 711d2a5e64c5 challenge ctf show 80
  • 20-TCP 协议(滑动窗口——基础)

    相信大家都遇到过这样的场景 同学 Luffy 给你打电话 让你记下一串手机号码 可是你记忆力不太好 你跟 Luffy 约定 一次只最多只能报 4 个数字 Luffy 念一遍 如果你听到了就把他说的话重复一遍 接下来 你 你一次最多报 4 个
  • vue3中的工具函数 isRef() 和 unref()

    1 isRef 检查某个值是否为 ref 主要用于检测类型 function isRef