VUE3中unref的用法

24 阅读1分钟

unref 是 Vue 3(特别是 Composition API)中一个非常常用的工具函数,用于自动“解包” ref 对象


✅ 一句话解释:

unref(x) 等价于:如果 x 是一个 ref,就返回 x.value;否则直接返回 x

它让你无需手动判断变量是不是 ref,就能安全地获取其原始值。


🔍 语法

ts

编辑

import { unref } from 'vue'

const value = unref(someVariable)

等价于:

ts

编辑

const value = isRef(someVariable) ? someVariable.value : someVariable

📌 在你的代码中分析

ts

编辑

const updateIcon = async (icon: string) => {
  if (unref(isLocal)) return
  // ...
}

假设 isLocal 的定义可能是:

ts

编辑

// 情况1:是普通 boolean
const isLocal = false

// 情况2:是 ref<boolean>
const isLocal = ref(false)

使用 unref(isLocal) 可以统一处理这两种情况

  • 如果 isLocal 是 ref → 获取 isLocal.value
  • 如果 isLocal 是普通值 → 直接用 isLocal

这样写更健壮,尤其在封装通用逻辑或组件时,你不知道传入的参数是 ref 还是普通值。