用途:指导设计并实现库级别的 Vue 组合式函数,使其能接受 MaybeRef / MaybeRefOrGetter 类型的输入,调用方既可传普通值,也可传 ref 或 getter。
主要能力与规则:只读、面向 computed 的输入使用 MaybeRefOrGetter;需要可写或双向绑定时使用 MaybeRef;若参数本身可能是函数值(回调、断言、比较器),不要用 MaybeRefOrGetter,以免被误当作 getter 调用;DOM/Element 目标若需要 computed 或派生目标,使用 MaybeRefOrGetter。
使用方式:先确认组合式函数的目的、API 设计与预期输入输出;识别应保持响应式的参数;在响应式副作用内用 toValue() 或 toRef() 归一化输入;再用 Vue 响应式 API 实现核心逻辑。解析响应式值用 toRef()(如 watcher 源),解析非响应式值用 toValue()。
类型概念:MaybeRef<T> 表示值或可写 ref(value/ref/shallowRef/writable computed);MaybeRefOrGetter<T> 在 MaybeRef 基础上加上 ComputedRef 与 () => T。
示例:useDocumentTitle 接受 MaybeRefOrGetter<string>,用 watch(toRef(title)) 更新 document.title;useCounter 接受 MaybeRef<number>,用 toRef(count) 后自增。
限制:资料未提供安装命令、依赖版本、平台与收费信息。