选项
首页首页 Skill 网页开发 vueuse-functions

vueuse-functions

antfu/skills antfu/skills

将需求映射到最合适的 VueUse 可组合函数,并采用正确的使用模式,以实现简洁且易于维护的 Vue.js/Nuxt 功能。

...展开全部
1
更新时间 2026-09-12

VueUse 函数

本指南旨在为 Vue.js / Nuxt 项目中使用 VueUse 可组合函数提供决策与实现指引。它将需求映射到最合适的 VueUse 函数,应用正确的用法模式,并优先采用基于可组合函数的解决方案而非定制代码,以确保实现简洁、易于维护且性能优异。

何时应用

  • 在协助用户进行 Vue.js / Nuxt 开发工作时,请应用本技能。
  • 请务必首先确认是否存在 VueUse 函数能够实现该需求。
  • 优先选用 VueUse 可组合函数而非自定义代码,以提升可读性、可维护性和性能。
  • 将需求映射到最合适的 VueUse 函数,并遵循该函数的调用规则。
  • 请参考 Invocation 字段。例如:
    • AUTO:在适用时自动使用。
    • EXTERNAL:仅当用户已安装所需的外部依赖项时才使用;否则应重新考虑,并仅在确实需要时才要求安装。
    • EXPLICIT_ONLY: 仅在用户明确请求时使用。

      注意:提示中的用户说明或 AGENTS.md 中的用户说明可能会覆盖函数的默认 Invocation 规则。

函数

下面列出的所有函数均属于 VueUse 库,每个部分根据功能对函数进行了分类。

重要提示:每个函数条目都包含一段简短的 Description 和详细 Reference。使用任何函数时,请务必查阅 ./references 中的相应文档,以了解使用详情和类型声明。

状态

函数 描述 调用
createGlobalState 将状态保存在全局作用域中,以便在不同的 Vue 实例间复用 AUTO
createInjectionState 创建可注入到组件中的全局状态 AUTO
createSharedComposable 使可组合函数可在多个 Vue 实例中使用 AUTO
injectLocal 扩展 inject 并支持调用 provideLocal 以在同一组件中提供该值 AUTO
provideLocal 扩展 provide 并支持调用 injectLocal 以获取同一组件中的值 AUTO
useAsyncState 响应式异步状态 AUTO
useDebouncedRefHistory 的简写形式 useRefHistory 带去抖动过滤器的简写形式 AUTO
useLastChanged 记录最后一次更改的时间戳 AUTO
useLocalStorage 响应式 LocalStorage AUTO
useManualRefHistory 当用户调用 commit() AUTO
useRefHistory 跟踪 ref 的变更历史记录 AUTO
useSessionStorage 响应式 SessionStorage AUTO
useStorage 创建一个可用于访问和修改 LocalStorage 或 SessionStorage 的响应式 ref AUTO
useStorageAsync 支持异步操作的响应式存储 AUTO
useThrottledRefHistory 以下是 useRefHistory 带限流过滤器的简写形式 AUTO

元素

功能 描述 调用
useActiveElement 响应式 document.activeElement AUTO
useDocumentVisibility 响应式跟踪 document.visibilityState AUTO
useDraggable 使元素可拖动 自动
useDropZone 创建可拖放文件的区域 自动
useElementBounding HTML 元素的响应式边界框 AUTO
useElementSize HTML 元素的响应式尺寸 AUTO
useElementVisibility 跟踪视口内元素的可见性 AUTO
useIntersectionObserver 检测目标元素可见性的变化 AUTO
useMouseInElement 与元素相关的响应式鼠标位置 AUTO
useMutationObserver 监听 DOM 树中的变更 AUTO
useParentElement 获取给定元素的父元素 AUTO
useResizeObserver 报告元素内容或边框盒(border-box)尺寸的变更 AUTO
useWindowFocus 使用 window.onfocuswindow.onblur 事件 AUTO
useWindowScroll 响应式窗口滚动 AUTO
useWindowSize 响应式窗口大小 自动

浏览器

功能 描述 调用
useBluetooth 响应式 Web Bluetooth API AUTO
useBreakpoints 响应式视口断点 AUTO
useBroadcastChannel 响应式 BroadcastChannel API 自动
useBrowserLocation 响应式浏览器位置 AUTO
useClipboard 响应式剪贴板 API AUTO
useClipboardItems 响应式剪贴板 API AUTO
useColorMode 具有自动数据持久化的响应式颜色模式(深色/浅色/自定义) AUTO
useCssSupports 支持服务器端渲染(SSR)且具备响应式特性 CSS.supports AUTO
useCssVar 操作 CSS 变量 AUTO
useDark 具有自动数据持久化的响应式深色模式 自动
useEventListener 轻松使用 EventListener AUTO
useEyeDropper 响应式取色器 API AUTO
useFavicon 响应式网站图标 AUTO
useFileDialog 轻松打开文件对话框 AUTO
useFileSystemAccess 使用 FileSystemAccessAPI 创建、读取和写入本地文件 AUTO
useFullscreen 响应式全屏 API AUTO
useGamepad 为 Gamepad API 提供响应式绑定 AUTO
useImage 在浏览器中响应式加载图片 AUTO
useMediaControls 适用于两者的响应式媒体控件 audiovideo 元素 AUTO
useMediaQuery 响应式媒体查询 AUTO
useMemory 响应式内存信息 自动
useObjectUrl 表示对象的响应式URL AUTO
usePerformanceObserver 观察性能指标 AUTO
usePermission 响应式权限 API AUTO
usePreferredColorScheme Reactive 的 prefers-color-scheme 媒体查询 AUTO
usePreferredContrast Reactive 的 prefers-contrast 媒体查询 自动
usePreferredDark 响应式深色主题偏好 AUTO
usePreferredLanguages Reactive Navigator 语言 自动
usePreferredReducedMotion Reactive“prefer-reduced-motion”媒体查询 自动
usePreferredReducedTransparency Reactive “prefer-reduced-transparency” 媒体查询 自动
useScreenOrientation 响应式屏幕方向 API AUTO
useScreenSafeArea Reactive env(safe-area-inset-*) AUTO
useScriptTag 创建一个脚本标签 自动
useShare 响应式 Web Share API AUTO
useSSRWidth 用于设置全局视口宽度,该宽度将在渲染依赖视口宽度的 SSR 组件时使用,例如 useMediaQueryuseBreakpoints AUTO
useStyleTag 注入响应式 style 元素到<head>中 AUTO
useTextareaAutosize 根据内容自动更新文本区域的高度 AUTO
useTextDirection 元素文本的响应式目录 AUTO
useTitle 响应式文档标题 AUTO
useUrlSearchParams URLSearchParams 的响应式属性 AUTO
useVibrate 响应式振动 API 自动
useWakeLock 响应式屏幕唤醒锁定 API AUTO
useWebNotification 响应式通知 AUTO
useWebWorker 简易 Web Workers 注册与通信 AUTO
useWebWorkerFn 在不阻塞用户界面的情况下运行耗时函数 AUTO

传感器

功能 描述 调用
onClickOutside 监听元素外部的点击事件 AUTO
onElementRemoval 当该元素或包含该元素的任何元素从 DOM 中移除时触发 AUTO
onKeyStroke 监听键盘按键 AUTO
onLongPress 监听对某个元素的长按操作 AUTO
onStartTyping 当用户在不可编辑的元素上开始输入时触发 AUTO
useBattery 响应式电池状态 API AUTO
useDeviceMotion 响应式 DeviceMotionEvent AUTO
useDeviceOrientation 响应式 DeviceOrientationEventAUTO AUTO
useDevicePixelRatio 响应式跟踪 window.devicePixelRatio AUTO
useDevicesList 响应式 enumerateDevices 列出可用的输入/输出设备 AUTO
useDisplayMedia 响应式 mediaDevices.getDisplayMedia 流式传输 AUTO
useElementByPoint 按点处理的响应式元素 自动
useElementHover 响应式元素的悬停状态 自动
useFocus 用于跟踪或设置 DOM 元素焦点状态的 Reactive 工具 AUTO
useFocusWithin 用于跟踪元素或其后代之一是否获得焦点的响应式工具 AUTO
useFps 响应式帧率(每秒帧数) AUTO
useGeolocation 响应式地理位置 API AUTO
useIdle 跟踪用户是否处于闲置状态 自动
useInfiniteScroll 元素的无限滚动 AUTO
useKeyModifier 响应式修饰符状态 AUTO
useMagicKeys 响应式按键按下状态 AUTO
useMouse Reactive鼠标位置 AUTO
useMousePressed 鼠标按键状态 AUTO
useNavigatorLanguage 响应式导航器语言 AUTO
useNetwork 响应式网络状态 自动
useOnline 响应式在线状态 自动
usePageLeave 用于显示鼠标是否离开页面的交互状态 AUTO
useParallax 轻松创建视差效果 AUTO
usePointer 交互式指针状态 AUTO
usePointerLock 响应式光标锁定 自动
usePointerSwipe 基于 PointerEvents 的响应式滑动检测 AUTO
useScroll 响应式滚动位置和状态 AUTO
useScrollLock 锁定元素的滚动 AUTO
useSpeechRecognition 响应式语音识别 AUTO
useSpeechSynthesis 响应式语音合成 AUTO
useSwipe 基于 TouchEvents 自动
useTextSelection 基于 Window.getSelection 自动
useUserMedia 响应式 mediaDevices.getUserMedia 流式处理 AUTO

网络

函数 描述 调用
useEventSource EventSource 或 Server-Sent-Events 实例会与 HTTP 服务器建立持久连接 AUTO
useFetch Reactive Fetch API 提供了中止请求的功能 AUTO
useWebSocket 响应式 WebSocket 客户端 AUTO

动画

函数 描述 调用
useAnimate 响应式 Web 动画 API AUTO
useInterval 每隔一个时间间隔递增的响应式计数器 AUTO
useIntervalFn 用于 setInterval 的封装器,带控制项 AUTO
useNow 响应式 Date 实例 AUTO
useRafFn 每隔一次调用函数 requestAnimationFrame 自动
useTimeout 当无功值达到 true AUTO
useTimeoutFn 用于 setTimeout 带控件的 AUTO
useTimestamp 反应电流时间戳 AUTO
useTransition 数值之间的过渡 自动

组件

功能 描述 调用
computedInject 组合 computedinject AUTO
createReusableTemplate 在组件作用域内定义并复用模板 AUTO
createTemplatePromise 作为 Promise 的模板 AUTO
templateRef 将 ref 绑定到模板元素的简写形式 AUTO
tryOnBeforeMount 安全 onBeforeMount AUTO
tryOnBeforeUnmount 安全 onBeforeUnmount AUTO
tryOnMounted 安全 onMounted AUTO
tryOnScopeDispose 安全 onScopeDispose AUTO
tryOnUnmounted 安全 onUnmounted AUTO
unrefElement 从 Vue 引用或组件实例中获取底层 DOM 元素 AUTO
useCurrentElement 将当前组件的 DOM 元素作为 ref 获取 AUTO
useMounted ref 中的已挂载状态 AUTO
useTemplateRefsList 将 ref 绑定到模板元素和内部组件的简写形式 v-for AUTO
useVirtualList 轻松创建虚拟列表 AUTO
useVModel v-model绑定的简写形式 AUTO
useVModels props v-model 绑定的简写形式 AUTO

监听

函数 描述 调用
until 承诺的一次性监听更改 AUTO
watchArray 监听包含新增和移除项的数组 AUTO
watchAtMost watch 并显示触发次数 AUTO
watchDebounced 防抖动监视 AUTO
watchDeep 用于监视值的简写形式,带 {deep: true} AUTO
watchIgnorable 可忽略的监视 AUTO
watchImmediate 用于监视值(使用)的简写形式 {immediate: true} AUTO
watchOnce 使用 { once: true } AUTO
watchPausable 可暂停的监视 AUTO
watchThrottled 限流监视 AUTO
watchTriggerable 可手动触发的监控任务 AUTO
watchWithFilter watch 带附加EventFilter控件的 AUTO
whenever 用于监视值为真值的简写形式 AUTO

响应性

函数 描述 调用
computedAsync 针对异步函数计算 AUTO
computedEager 不进行惰性求值,立即求值 AUTO
computedWithControl 显式定义计算表达式的依赖关系 AUTO
createRef 返回一个 deepRefshallowRef ,具体取决于 deep 参数 AUTO
extendRef 向 Ref 添加额外属性 AUTO
reactify 将普通函数转换为响应式函数 AUTO
reactifyObject 应用 reactify 应用于一个对象 AUTO
reactiveComputed 计算得到的响应式对象 AUTO
reactiveOmit 从响应式对象中响应式地省略字段 AUTO
reactivePick 从响应式对象中响应式地选择字段 AUTO
refAutoReset 一个引用,将在一段时间后重置为默认值 AUTO
refDebounced 对 ref 值的执行进行防抖处理 AUTO
refDefault 将默认值应用到引用 AUTO
refManualReset 创建具有手动重置功能的 ref AUTO
refThrottled 限制参考值的更改频率 AUTO
refWithControl 对参考值及其反应性的精细控制 AUTO
syncRef 双向参考值同步 AUTO
syncRefs 保持目标引用与源引用的同步 AUTO
toReactive 将引用转换为响应式引用 AUTO
toRef 将值/引用/获取器规范化为 refcomputed EXPLICIT_ONLY
toRefs 扩展 toRefs 该方法还接受对象的引用 AUTO

数组

函数 描述 调用
useArrayDifference 响应式获取两个数组的差集 AUTO
useArrayEvery 响应式 Array.every AUTO
useArrayFilter 响应式 Array.filter AUTO
useArrayFind 反应式 Array.find 自动
useArrayFindIndex 反应式 Array.findIndex 自动
useArrayFindLast 反应式 Array.findLast 自动
useArrayIncludes 反应式 Array.includes 自动
useArrayJoin 反应式 Array.join 自动
useArrayMap 反应式 Array.map 自动
useArrayReduce 反应式 Array.reduce 自动
useArraySome 反应式 Array.some 自动
useArrayUnique 反应型唯一数组 AUTO
useSorted 反应式排序数组 AUTO

时间

函数 描述 调用
useCountdown 以秒为单位的响应式倒计时器 AUTO
useDateFormat 根据传入的标记字符串获取格式化的日期 AUTO
useTimeAgo 基于“X秒前”的响应式计时器 AUTO
useTimeAgoIntl “X分钟前”的反应时间(支持i18n) AUTO

实用工具

函数 描述 调用
createDisposableDirective 用于编写一次性指令的实用程序 AUTO
createEventHook 用于创建事件挂钩的工具程序 AUTO
createUnrefFn 创建一个可接受引用值和原始值作为参数的普通函数 AUTO
get 访问的简写形式 ref.value EXPLICIT_ONLY
isDefined 用于 Ref 的非空检查类型守护 AUTO
makeDestructurable 同时使对象和数组具有同构的可销毁性 AUTO
set 的简写形式 ref.value = x EXPLICIT_ONLY
useAsyncQueue 按顺序执行每个异步任务,并将当前任务的结果传递给下一个任务 AUTO
useBase64 响应式 base64 转换 AUTO
useCached 使用自定义比较器缓存引用 AUTO
useCloned Ref的响应式克隆 AUTO
useConfirmDialog 创建事件钩子以支持模态窗口和确认对话框链 AUTO
useCounter 带实用函数的基本计数器 AUTO
useCycleList 循环遍历项目列表 AUTO
useDebounceFn 消除函数执行时的抖动 AUTO
useEventBus 一个基本的事件总线 AUTO
useMemoize 根据参数缓存函数结果并保持其响应性 AUTO
useOffsetPagination 响应式的偏移量分页 AUTO
usePrevious 保留 ref 的上一个值 AUTO
useStepper 提供用于构建多步向导界面的辅助函数 AUTO
useSupported SSR兼容性 isSupported AUTO
useThrottleFn 限制函数的执行 AUTO
useTimeoutPoll 使用超时机制进行轮询 AUTO
useToggle 带实用函数的布尔开关 AUTO
useToNumber 将字符串引用响应式地转换为数字 AUTO
useToString 将引用反应式地转换为字符串 AUTO

@Electron

函数 描述 调用
useIpcRenderer 为 ipcRenderer 及其所有 API 提供 Vue 响应式功能 EXTERNAL
useIpcRendererInvoke 响应式 ipcRenderer.invoke API 结果 外部
useIpcRendererOn 轻松使用 ipcRenderer.on,并在卸载时自动调用 ipcRenderer.removeListener 外部
useZoomFactor Reactive WebFrame 缩放因子 外部
useZoomLevel Reactive WebFrame 缩放级别 外部

@Firebase

函数 描述 调用
useAuth 响应式 Firebase Auth 绑定 EXTERNAL
useFirestore Reactive Firestore 绑定 外部
useRTDB Reactive Firebase 实时数据库绑定 外部

@Head

函数 描述 调用
createHead 创建头管理器实例。 EXTERNAL
useHead 以响应式方式更新头元数据标签。 EXTERNAL

@Integrations

函数 描述 调用
useAsyncValidator 用于 async-validator EXTERNAL
useAxios 用于 axios EXTERNAL
useChangeCase 用于 change-case EXTERNAL
useCookies 用于 universal-cookie EXTERNAL
useDrauu drauu 的响应式实例 EXTERNAL
useFocusTrap 用于 focus-trap EXTERNAL
useFuse 使用 Fuse.js 的可组合函数轻松实现模糊搜索 EXTERNAL
useIDBKeyval 用于 idb-keyval EXTERNAL
useJwt 用于 jwt-decode EXTERNAL
useNProgress 用于 nprogress EXTERNAL
useQRCode 用于 qrcode EXTERNAL
useSortable 用于 sortable EXTERNAL

@Math

函数 描述 调用
createGenericProjection 的通用版本 createProjection EXTERNAL
createProjection 从一个域到另一个域的响应式数值投影 EXTERNAL
logicAnd AND 引用条件 EXTERNAL
logicNot NOT 引用条件 EXTERNAL
logicOr OR 引用条件 外部
useAbs 响应式 Math.abs EXTERNAL
useAverage 以响应式方式获取数组的平均值 外部
useCeil 响应式 Math.ceil 外部
useClamp 将一个值反应式地限制在另外两个值之间 外部
useFloor 响应式 Math.floor 外部
useMath 响应式 Math 方法 外部
useMax 响应式 Math.max 外部
useMin 响应式 Math.min 外部
usePrecision 以响应式方式设置数字的精度 外部
useProjection 将一个域中的数值以响应式方式投影到另一个域 外部
useRound 响应式 Math.round EXTERNAL
useSum 以响应式方式获取数组的和 EXTERNAL
useTrunc 响应式 Math.trunc 外部

@Motion

函数 描述 调用
useElementStyle 将响应式对象与目标元素的 CSS 样式同步 EXTERNAL
useElementTransform 将响应式对象与目标元素的 CSS 变换同步。 外部
useMotion 让您的组件动起来。 外部
useMotionProperties 访问目标元素的运动属性。 外部
useMotionVariants 处理变体的状态和选择。 EXTERNAL
useSpring 弹簧动画。 EXTERNAL

@Router

函数 描述 调用
useRouteHash 响应式路由的简写形式 route.hash EXTERNAL
useRouteParams 响应式的简写形式 route.params EXTERNAL
useRouteQuery 响应式表达式的简写形式 route.query EXTERNAL

@RxJS

函数 描述 调用
from RxJS相关方法的 from()fromEvent() 的封装类,使其能够接受 refs 外部
toObserver Sugar 函数,用于将 ref 转换为 RxJS 观察者 EXTERNAL
useExtractedObservable 使用 RxJS Observable (从一个或多个可组合函数中提取) 外部
useObservable 使用 RxJS Observable 外部
useSubject 将 RxJS 绑定 Subject 到一个 ref ,并双向传播值的变化 EXTERNAL
useSubscription 使用 RxJS Subscription ,无需担心取消订阅或引发内存泄漏 EXTERNAL
watchExtractedObservable 监听 RxJS 的值 Observable (这些值是从一个或多个可组合函数中提取的) 外部

@SchemaOrg

函数 描述 调用
createSchemaOrg 创建 schema.org 管理器实例。 EXTERNAL
useSchemaOrg 以响应式方式更新 schema.org。 EXTERNAL

@Sound

函数 描述 调用
useSound 按需播放音效。 EXTERNAL
在 GitHub 上查看
---
name: vueuse-functions
description: Map requirements to the most suitable VueUse composable and apply correct usage patterns for concise, maintainable Vue.js/Nuxt features.
license: MIT
---

# VueUse Functions

This skill is a decision-and-implementation guide for VueUse composables in Vue.js / Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.

## When to Apply

- Apply this skill whenever assisting user development work in Vue.js / Nuxt.
- Always check first whether a VueUse function can implement the requirement.
- Prefer VueUse composables over custom code to improve readability, maintainability, and performance.
- Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.
- Please refer to the `Invocation` field in the below functions table. For example:
  - `AUTO`: Use automatically when applicable.
  - `EXTERNAL`: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.
  - `EXPLICIT_ONLY`: Use only when explicitly requested by the user.
  > *NOTE* User instructions in the prompt or `AGENTS.md` may override a function’s default `Invocation` rule.

## Functions

All functions listed below are part of the [VueUse](https://vueuse.org/) library, each section categorizes functions based on their functionality.

IMPORTANT: Each function entry includes a short `Description` and a detailed `Reference`. When using any function, always consult the corresponding document in `./references` for Usage details and Type Declarations.

### State

| Function | Description | Invocation |
|----------|-------------|------------|
| [`createGlobalState`](references/createGlobalState.md) | Keep states in the global scope to be reusable across Vue instances | AUTO |
| [`createInjectionState`](references/createInjectionState.md) | Create global state that can be injected into components | AUTO |
| [`createSharedComposable`](references/createSharedComposable.md) | Make a composable function usable with multiple Vue instances | AUTO |
| [`injectLocal`](references/injectLocal.md) | Extended `inject` with ability to call `provideLocal` to provide the value in the same component | AUTO |
| [`provideLocal`](references/provideLocal.md) | Extended `provide` with ability to call `injectLocal` to obtain the value in the same component | AUTO |
| [`useAsyncState`](references/useAsyncState.md) | Reactive async state | AUTO |
| [`useDebouncedRefHistory`](references/useDebouncedRefHistory.md) | Shorthand for `useRefHistory` with debounced filter | AUTO |
| [`useLastChanged`](references/useLastChanged.md) | Records the timestamp of the last change | AUTO |
| [`useLocalStorage`](references/useLocalStorage.md) | Reactive [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) | AUTO |
| [`useManualRefHistory`](references/useManualRefHistory.md) | Manually track the change history of a ref when the user calls `commit()` | AUTO |
| [`useRefHistory`](references/useRefHistory.md) | Track the change history of a ref | AUTO |
| [`useSessionStorage`](references/useSessionStorage.md) | Reactive [SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) | AUTO |
| [`useStorage`](references/useStorage.md) | Create a reactive ref that can be used to access & modify [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) or [SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) | AUTO |
| [`useStorageAsync`](references/useStorageAsync.md) | Reactive Storage with async support | AUTO |
| [`useThrottledRefHistory`](references/useThrottledRefHistory.md) | Shorthand for `useRefHistory` with throttled filter | AUTO |

### Elements

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useActiveElement`](references/useActiveElement.md) | Reactive `document.activeElement` | AUTO |
| [`useDocumentVisibility`](references/useDocumentVisibility.md) | Reactively track [`document.visibilityState`](https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState) | AUTO |
| [`useDraggable`](references/useDraggable.md) | Make elements draggable | AUTO |
| [`useDropZone`](references/useDropZone.md) | Create a zone where files can be dropped | AUTO |
| [`useElementBounding`](references/useElementBounding.md) | Reactive [bounding box](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) of an HTML element | AUTO |
| [`useElementSize`](references/useElementSize.md) | Reactive size of an HTML element | AUTO |
| [`useElementVisibility`](references/useElementVisibility.md) | Tracks the visibility of an element within the viewport | AUTO |
| [`useIntersectionObserver`](references/useIntersectionObserver.md) | Detects changes to a target element's visibility | AUTO |
| [`useMouseInElement`](references/useMouseInElement.md) | Reactive mouse position related to an element | AUTO |
| [`useMutationObserver`](references/useMutationObserver.md) | Watch for changes being made to the DOM tree | AUTO |
| [`useParentElement`](references/useParentElement.md) | Get parent element of the given element | AUTO |
| [`useResizeObserver`](references/useResizeObserver.md) | Reports changes to the dimensions of an Element's content or the border-box | AUTO |
| [`useWindowFocus`](references/useWindowFocus.md) | Reactively track window focus with `window.onfocus` and `window.onblur` events | AUTO |
| [`useWindowScroll`](references/useWindowScroll.md) | Reactive window scroll | AUTO |
| [`useWindowSize`](references/useWindowSize.md) | Reactive window size | AUTO |

### Browser

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useBluetooth`](references/useBluetooth.md) | Reactive [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) | AUTO |
| [`useBreakpoints`](references/useBreakpoints.md) | Reactive viewport breakpoints | AUTO |
| [`useBroadcastChannel`](references/useBroadcastChannel.md) | Reactive [BroadcastChannel API](https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel) | AUTO |
| [`useBrowserLocation`](references/useBrowserLocation.md) | Reactive browser location | AUTO |
| [`useClipboard`](references/useClipboard.md) | Reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) | AUTO |
| [`useClipboardItems`](references/useClipboardItems.md) | Reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) | AUTO |
| [`useColorMode`](references/useColorMode.md) | Reactive color mode (dark / light / customs) with auto data persistence | AUTO |
| [`useCssSupports`](references/useCssSupports.md) | SSR compatible and reactive [`CSS.supports`](https://developer.mozilla.org/docs/Web/API/CSS/supports_static) | AUTO |
| [`useCssVar`](references/useCssVar.md) | Manipulate CSS variables | AUTO |
| [`useDark`](references/useDark.md) | Reactive dark mode with auto data persistence | AUTO |
| [`useEventListener`](references/useEventListener.md) | Use EventListener with ease | AUTO |
| [`useEyeDropper`](references/useEyeDropper.md) | Reactive [EyeDropper API](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API) | AUTO |
| [`useFavicon`](references/useFavicon.md) | Reactive favicon | AUTO |
| [`useFileDialog`](references/useFileDialog.md) | Open file dialog with ease | AUTO |
| [`useFileSystemAccess`](references/useFileSystemAccess.md) | Create and read and write local files with [FileSystemAccessAPI](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) | AUTO |
| [`useFullscreen`](references/useFullscreen.md) | Reactive [Fullscreen API](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API) | AUTO |
| [`useGamepad`](references/useGamepad.md) | Provides reactive bindings for the [Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API) | AUTO |
| [`useImage`](references/useImage.md) | Reactive load an image in the browser | AUTO |
| [`useMediaControls`](references/useMediaControls.md) | Reactive media controls for both `audio` and `video` elements | AUTO |
| [`useMediaQuery`](references/useMediaQuery.md) | Reactive [Media Query](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries) | AUTO |
| [`useMemory`](references/useMemory.md) | Reactive Memory Info | AUTO |
| [`useObjectUrl`](references/useObjectUrl.md) | Reactive URL representing an object | AUTO |
| [`usePerformanceObserver`](references/usePerformanceObserver.md) | Observe performance metrics | AUTO |
| [`usePermission`](references/usePermission.md) | Reactive [Permissions API](https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API) | AUTO |
| [`usePreferredColorScheme`](references/usePreferredColorScheme.md) | Reactive [prefers-color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme) media query | AUTO |
| [`usePreferredContrast`](references/usePreferredContrast.md) | Reactive [prefers-contrast](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast) media query | AUTO |
| [`usePreferredDark`](references/usePreferredDark.md) | Reactive dark theme preference | AUTO |
| [`usePreferredLanguages`](references/usePreferredLanguages.md) | Reactive [Navigator Languages](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/languages) | AUTO |
| [`usePreferredReducedMotion`](references/usePreferredReducedMotion.md) | Reactive [prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) media query | AUTO |
| [`usePreferredReducedTransparency`](references/usePreferredReducedTransparency.md) | Reactive [prefers-reduced-transparency](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) media query | AUTO |
| [`useScreenOrientation`](references/useScreenOrientation.md) | Reactive [Screen Orientation API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Orientation_API) | AUTO |
| [`useScreenSafeArea`](references/useScreenSafeArea.md) | Reactive `env(safe-area-inset-*)` | AUTO |
| [`useScriptTag`](references/useScriptTag.md) | Creates a script tag | AUTO |
| [`useShare`](references/useShare.md) | Reactive [Web Share API](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share) | AUTO |
| [`useSSRWidth`](references/useSSRWidth.md) | Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like [`useMediaQuery`](../useMediaQuery/index.md) or [`useBreakpoints`](../useBreakpoints/index.md) | AUTO |
| [`useStyleTag`](references/useStyleTag.md) | Inject reactive `style` element in head | AUTO |
| [`useTextareaAutosize`](references/useTextareaAutosize.md) | Automatically update the height of a textarea depending on the content | AUTO |
| [`useTextDirection`](references/useTextDirection.md) | Reactive [dir](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) of the element's text | AUTO |
| [`useTitle`](references/useTitle.md) | Reactive document title | AUTO |
| [`useUrlSearchParams`](references/useUrlSearchParams.md) | Reactive [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) | AUTO |
| [`useVibrate`](references/useVibrate.md) | Reactive [Vibration API](https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API) | AUTO |
| [`useWakeLock`](references/useWakeLock.md) | Reactive [Screen Wake Lock API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API) | AUTO |
| [`useWebNotification`](references/useWebNotification.md) | Reactive [Notification](https://developer.mozilla.org/en-US/docs/Web/API/notification) | AUTO |
| [`useWebWorker`](references/useWebWorker.md) | Simple [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers) registration and communication | AUTO |
| [`useWebWorkerFn`](references/useWebWorkerFn.md) | Run expensive functions without blocking the UI | AUTO |

### Sensors

| Function | Description | Invocation |
|----------|-------------|------------|
| [`onClickOutside`](references/onClickOutside.md) | Listen for clicks outside of an element | AUTO |
| [`onElementRemoval`](references/onElementRemoval.md) | Fires when the element or any element containing it is removed from the DOM | AUTO |
| [`onKeyStroke`](references/onKeyStroke.md) | Listen for keyboard keystrokes | AUTO |
| [`onLongPress`](references/onLongPress.md) | Listen for a long press on an element | AUTO |
| [`onStartTyping`](references/onStartTyping.md) | Fires when users start typing on non-editable elements | AUTO |
| [`useBattery`](references/useBattery.md) | Reactive [Battery Status API](https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API) | AUTO |
| [`useDeviceMotion`](references/useDeviceMotion.md) | Reactive [DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent) | AUTO |
| [`useDeviceOrientation`](references/useDeviceOrientation.md) | Reactive [DeviceOrientationEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent) | AUTO |
| [`useDevicePixelRatio`](references/useDevicePixelRatio.md) | Reactively track [`window.devicePixelRatio`](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio) | AUTO |
| [`useDevicesList`](references/useDevicesList.md) | Reactive [enumerateDevices](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices) listing available input/output devices | AUTO |
| [`useDisplayMedia`](references/useDisplayMedia.md) | Reactive [`mediaDevices.getDisplayMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia) streaming | AUTO |
| [`useElementByPoint`](references/useElementByPoint.md) | Reactive element by point | AUTO |
| [`useElementHover`](references/useElementHover.md) | Reactive element's hover state | AUTO |
| [`useFocus`](references/useFocus.md) | Reactive utility to track or set the focus state of a DOM element | AUTO |
| [`useFocusWithin`](references/useFocusWithin.md) | Reactive utility to track if an element or one of its descendants has focus | AUTO |
| [`useFps`](references/useFps.md) | Reactive FPS (frames per second) | AUTO |
| [`useGeolocation`](references/useGeolocation.md) | Reactive [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) | AUTO |
| [`useIdle`](references/useIdle.md) | Tracks whether the user is being inactive | AUTO |
| [`useInfiniteScroll`](references/useInfiniteScroll.md) | Infinite scrolling of the element | AUTO |
| [`useKeyModifier`](references/useKeyModifier.md) | Reactive [Modifier State](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState) | AUTO |
| [`useMagicKeys`](references/useMagicKeys.md) | Reactive keys pressed state | AUTO |
| [`useMouse`](references/useMouse.md) | Reactive mouse position | AUTO |
| [`useMousePressed`](references/useMousePressed.md) | Reactive mouse pressing state | AUTO |
| [`useNavigatorLanguage`](references/useNavigatorLanguage.md) | Reactive [navigator.language](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language) | AUTO |
| [`useNetwork`](references/useNetwork.md) | Reactive [Network status](https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API) | AUTO |
| [`useOnline`](references/useOnline.md) | Reactive online state | AUTO |
| [`usePageLeave`](references/usePageLeave.md) | Reactive state to show whether the mouse leaves the page | AUTO |
| [`useParallax`](references/useParallax.md) | Create parallax effect easily | AUTO |
| [`usePointer`](references/usePointer.md) | Reactive [pointer state](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events) | AUTO |
| [`usePointerLock`](references/usePointerLock.md) | Reactive [pointer lock](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API) | AUTO |
| [`usePointerSwipe`](references/usePointerSwipe.md) | Reactive swipe detection based on [PointerEvents](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent) | AUTO |
| [`useScroll`](references/useScroll.md) | Reactive scroll position and state | AUTO |
| [`useScrollLock`](references/useScrollLock.md) | Lock scrolling of the element | AUTO |
| [`useSpeechRecognition`](references/useSpeechRecognition.md) | Reactive [SpeechRecognition](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition) | AUTO |
| [`useSpeechSynthesis`](references/useSpeechSynthesis.md) | Reactive [SpeechSynthesis](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis) | AUTO |
| [`useSwipe`](references/useSwipe.md) | Reactive swipe detection based on [`TouchEvents`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent) | AUTO |
| [`useTextSelection`](references/useTextSelection.md) | Reactively track user text selection based on [`Window.getSelection`](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection) | AUTO |
| [`useUserMedia`](references/useUserMedia.md) | Reactive [`mediaDevices.getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) streaming | AUTO |

### Network

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useEventSource`](references/useEventSource.md) | An [EventSource](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) or [Server-Sent-Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) instance opens a persistent connection to an HTTP server | AUTO |
| [`useFetch`](references/useFetch.md) | Reactive [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) provides the ability to abort requests | AUTO |
| [`useWebSocket`](references/useWebSocket.md) | Reactive [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket) client | AUTO |

### Animation

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useAnimate`](references/useAnimate.md) | Reactive [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API) | AUTO |
| [`useInterval`](references/useInterval.md) | Reactive counter that increases on every interval | AUTO |
| [`useIntervalFn`](references/useIntervalFn.md) | Wrapper for `setInterval` with controls | AUTO |
| [`useNow`](references/useNow.md) | Reactive current Date instance | AUTO |
| [`useRafFn`](references/useRafFn.md) | Call function on every `requestAnimationFrame` | AUTO |
| [`useTimeout`](references/useTimeout.md) | Reactive value that becomes `true` after a given time | AUTO |
| [`useTimeoutFn`](references/useTimeoutFn.md) | Wrapper for `setTimeout` with controls | AUTO |
| [`useTimestamp`](references/useTimestamp.md) | Reactive current timestamp | AUTO |
| [`useTransition`](references/useTransition.md) | Transition between values | AUTO |

### Component

| Function | Description | Invocation |
|----------|-------------|------------|
| [`computedInject`](references/computedInject.md) | Combine `computed` and `inject` | AUTO |
| [`createReusableTemplate`](references/createReusableTemplate.md) | Define and reuse template inside the component scope | AUTO |
| [`createTemplatePromise`](references/createTemplatePromise.md) | Template as Promise | AUTO |
| [`templateRef`](references/templateRef.md) | Shorthand for binding ref to template element | AUTO |
| [`tryOnBeforeMount`](references/tryOnBeforeMount.md) | Safe `onBeforeMount` | AUTO |
| [`tryOnBeforeUnmount`](references/tryOnBeforeUnmount.md) | Safe `onBeforeUnmount` | AUTO |
| [`tryOnMounted`](references/tryOnMounted.md) | Safe `onMounted` | AUTO |
| [`tryOnScopeDispose`](references/tryOnScopeDispose.md) | Safe `onScopeDispose` | AUTO |
| [`tryOnUnmounted`](references/tryOnUnmounted.md) | Safe `onUnmounted` | AUTO |
| [`unrefElement`](references/unrefElement.md) | Retrieves the underlying DOM element from a Vue ref or component instance | AUTO |
| [`useCurrentElement`](references/useCurrentElement.md) | Get the DOM element of current component as a ref | AUTO |
| [`useMounted`](references/useMounted.md) | Mounted state in ref | AUTO |
| [`useTemplateRefsList`](references/useTemplateRefsList.md) | Shorthand for binding refs to template elements and components inside `v-for` | AUTO |
| [`useVirtualList`](references/useVirtualList.md) | Create virtual lists with ease | AUTO |
| [`useVModel`](references/useVModel.md) | Shorthand for v-model binding | AUTO |
| [`useVModels`](references/useVModels.md) | Shorthand for props v-model binding | AUTO |

### Watch

| Function | Description | Invocation |
|----------|-------------|------------|
| [`until`](references/until.md) | Promised one-time watch for changes | AUTO |
| [`watchArray`](references/watchArray.md) | Watch for an array with additions and removals | AUTO |
| [`watchAtMost`](references/watchAtMost.md) | `watch` with the number of times triggered | AUTO |
| [`watchDebounced`](references/watchDebounced.md) | Debounced watch | AUTO |
| [`watchDeep`](references/watchDeep.md) | Shorthand for watching value with `{deep: true}` | AUTO |
| [`watchIgnorable`](references/watchIgnorable.md) | Ignorable watch | AUTO |
| [`watchImmediate`](references/watchImmediate.md) | Shorthand for watching value with `{immediate: true}` | AUTO |
| [`watchOnce`](references/watchOnce.md) | Shorthand for watching value with `{ once: true }` | AUTO |
| [`watchPausable`](references/watchPausable.md) | Pausable watch | AUTO |
| [`watchThrottled`](references/watchThrottled.md) | Throttled watch | AUTO |
| [`watchTriggerable`](references/watchTriggerable.md) | Watch that can be triggered manually | AUTO |
| [`watchWithFilter`](references/watchWithFilter.md) | `watch` with additional EventFilter control | AUTO |
| [`whenever`](references/whenever.md) | Shorthand for watching value to be truthy | AUTO |

### Reactivity

| Function | Description | Invocation |
|----------|-------------|------------|
| [`computedAsync`](references/computedAsync.md) | Computed for async functions | AUTO |
| [`computedEager`](references/computedEager.md) | Eager computed without lazy evaluation | AUTO |
| [`computedWithControl`](references/computedWithControl.md) | Explicitly define the dependencies of computed | AUTO |
| [`createRef`](references/createRef.md) | Returns a `deepRef` or `shallowRef` depending on the `deep` param | AUTO |
| [`extendRef`](references/extendRef.md) | Add extra attributes to Ref | AUTO |
| [`reactify`](references/reactify.md) | Converts plain functions into reactive functions | AUTO |
| [`reactifyObject`](references/reactifyObject.md) | Apply `reactify` to an object | AUTO |
| [`reactiveComputed`](references/reactiveComputed.md) | Computed reactive object | AUTO |
| [`reactiveOmit`](references/reactiveOmit.md) | Reactively omit fields from a reactive object | AUTO |
| [`reactivePick`](references/reactivePick.md) | Reactively pick fields from a reactive object | AUTO |
| [`refAutoReset`](references/refAutoReset.md) | A ref which will be reset to the default value after some time | AUTO |
| [`refDebounced`](references/refDebounced.md) | Debounce execution of a ref value | AUTO |
| [`refDefault`](references/refDefault.md) | Apply default value to a ref | AUTO |
| [`refManualReset`](references/refManualReset.md) | Create a ref with manual reset functionality | AUTO |
| [`refThrottled`](references/refThrottled.md) | Throttle changing of a ref value | AUTO |
| [`refWithControl`](references/refWithControl.md) | Fine-grained controls over ref and its reactivity | AUTO |
| [`syncRef`](references/syncRef.md) | Two-way refs synchronization | AUTO |
| [`syncRefs`](references/syncRefs.md) | Keep target refs in sync with a source ref | AUTO |
| [`toReactive`](references/toReactive.md) | Converts ref to reactive | AUTO |
| [`toRef`](references/toRef.md) | Normalize value/ref/getter to `ref` or `computed` | EXPLICIT_ONLY |
| [`toRefs`](references/toRefs.md) | Extended [`toRefs`](https://vuejs.org/api/reactivity-utilities.html#torefs) that also accepts refs of an object | AUTO |

### Array

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useArrayDifference`](references/useArrayDifference.md) | Reactive get array difference of two arrays | AUTO |
| [`useArrayEvery`](references/useArrayEvery.md) | Reactive `Array.every` | AUTO |
| [`useArrayFilter`](references/useArrayFilter.md) | Reactive `Array.filter` | AUTO |
| [`useArrayFind`](references/useArrayFind.md) | Reactive `Array.find` | AUTO |
| [`useArrayFindIndex`](references/useArrayFindIndex.md) | Reactive `Array.findIndex` | AUTO |
| [`useArrayFindLast`](references/useArrayFindLast.md) | Reactive `Array.findLast` | AUTO |
| [`useArrayIncludes`](references/useArrayIncludes.md) | Reactive `Array.includes` | AUTO |
| [`useArrayJoin`](references/useArrayJoin.md) | Reactive `Array.join` | AUTO |
| [`useArrayMap`](references/useArrayMap.md) | Reactive `Array.map` | AUTO |
| [`useArrayReduce`](references/useArrayReduce.md) | Reactive `Array.reduce` | AUTO |
| [`useArraySome`](references/useArraySome.md) | Reactive `Array.some` | AUTO |
| [`useArrayUnique`](references/useArrayUnique.md) | Reactive unique array | AUTO |
| [`useSorted`](references/useSorted.md) | Reactive sort array | AUTO |

### Time

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useCountdown`](references/useCountdown.md) | Reactive countdown timer in seconds | AUTO |
| [`useDateFormat`](references/useDateFormat.md) | Get the formatted date according to the string of tokens passed in | AUTO |
| [`useTimeAgo`](references/useTimeAgo.md) | Reactive time ago | AUTO |
| [`useTimeAgoIntl`](references/useTimeAgoIntl.md) | Reactive time ago with i18n supported | AUTO |

### Utilities

| Function | Description | Invocation |
|----------|-------------|------------|
| [`createDisposableDirective`](references/createDisposableDirective.md) | Utility for authoring disposable directives | AUTO |
| [`createEventHook`](references/createEventHook.md) | Utility for creating event hooks | AUTO |
| [`createUnrefFn`](references/createUnrefFn.md) | Make a plain function accepting ref and raw values as arguments | AUTO |
| [`get`](references/get.md) | Shorthand for accessing `ref.value` | EXPLICIT_ONLY |
| [`isDefined`](references/isDefined.md) | Non-nullish checking type guard for Ref | AUTO |
| [`makeDestructurable`](references/makeDestructurable.md) | Make isomorphic destructurable for object and array at the same time | AUTO |
| [`set`](references/set.md) | Shorthand for `ref.value = x` | EXPLICIT_ONLY |
| [`useAsyncQueue`](references/useAsyncQueue.md) | Executes each asynchronous task sequentially and passes the current task result to the next task | AUTO |
| [`useBase64`](references/useBase64.md) | Reactive base64 transforming | AUTO |
| [`useCached`](references/useCached.md) | Cache a ref with a custom comparator | AUTO |
| [`useCloned`](references/useCloned.md) | Reactive clone of a ref | AUTO |
| [`useConfirmDialog`](references/useConfirmDialog.md) | Creates event hooks to support modals and confirmation dialog chains | AUTO |
| [`useCounter`](references/useCounter.md) | Basic counter with utility functions | AUTO |
| [`useCycleList`](references/useCycleList.md) | Cycle through a list of items | AUTO |
| [`useDebounceFn`](references/useDebounceFn.md) | Debounce execution of a function | AUTO |
| [`useEventBus`](references/useEventBus.md) | A basic event bus | AUTO |
| [`useMemoize`](references/useMemoize.md) | Cache results of functions depending on arguments and keep it reactive | AUTO |
| [`useOffsetPagination`](references/useOffsetPagination.md) | Reactive offset pagination | AUTO |
| [`usePrevious`](references/usePrevious.md) | Holds the previous value of a ref | AUTO |
| [`useStepper`](references/useStepper.md) | Provides helpers for building a multi-step wizard interface | AUTO |
| [`useSupported`](references/useSupported.md) | SSR compatibility `isSupported` | AUTO |
| [`useThrottleFn`](references/useThrottleFn.md) | Throttle execution of a function | AUTO |
| [`useTimeoutPoll`](references/useTimeoutPoll.md) | Use timeout to poll something | AUTO |
| [`useToggle`](references/useToggle.md) | A boolean switcher with utility functions | AUTO |
| [`useToNumber`](references/useToNumber.md) | Reactively convert a string ref to number | AUTO |
| [`useToString`](references/useToString.md) | Reactively convert a ref to string | AUTO |

### @Electron

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useIpcRenderer`](references/useIpcRenderer.md) | Provides [ipcRenderer](https://www.electronjs.org/docs/api/ipc-renderer) and all of its APIs with Vue reactivity | EXTERNAL |
| [`useIpcRendererInvoke`](references/useIpcRendererInvoke.md) | Reactive [ipcRenderer.invoke API](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args) result | EXTERNAL |
| [`useIpcRendererOn`](references/useIpcRendererOn.md) | Use [ipcRenderer.on](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendereronchannel-listener) with ease and [ipcRenderer.removeListener](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener) automatically on unmounted | EXTERNAL |
| [`useZoomFactor`](references/useZoomFactor.md) | Reactive [WebFrame](https://www.electronjs.org/docs/api/web-frame#webframe) zoom factor | EXTERNAL |
| [`useZoomLevel`](references/useZoomLevel.md) | Reactive [WebFrame](https://www.electronjs.org/docs/api/web-frame#webframe) zoom level | EXTERNAL |

### @Firebase

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useAuth`](references/useAuth.md) | Reactive [Firebase Auth](https://firebase.google.com/docs/auth) binding | EXTERNAL |
| [`useFirestore`](references/useFirestore.md) | Reactive [Firestore](https://firebase.google.com/docs/firestore) binding | EXTERNAL |
| [`useRTDB`](references/useRTDB.md) | Reactive [Firebase Realtime Database](https://firebase.google.com/docs/database) binding | EXTERNAL |

### @Head

| Function | Description | Invocation |
|----------|-------------|------------|
| [`createHead`](https://github.com/vueuse/head#api) | Create the head manager instance. | EXTERNAL |
| [`useHead`](https://github.com/vueuse/head#api) | Update head meta tags reactively. | EXTERNAL |

### @Integrations

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useAsyncValidator`](references/useAsyncValidator.md) | Wrapper for [`async-validator`](https://github.com/yiminghe/async-validator) | EXTERNAL |
| [`useAxios`](references/useAxios.md) | Wrapper for [`axios`](https://github.com/axios/axios) | EXTERNAL |
| [`useChangeCase`](references/useChangeCase.md) | Reactive wrapper for [`change-case`](https://github.com/blakeembrey/change-case) | EXTERNAL |
| [`useCookies`](references/useCookies.md) | Wrapper for [`universal-cookie`](https://www.npmjs.com/package/universal-cookie) | EXTERNAL |
| [`useDrauu`](references/useDrauu.md) | Reactive instance for [drauu](https://github.com/antfu/drauu) | EXTERNAL |
| [`useFocusTrap`](references/useFocusTrap.md) | Reactive wrapper for [`focus-trap`](https://github.com/focus-trap/focus-trap) | EXTERNAL |
| [`useFuse`](references/useFuse.md) | Easily implement fuzzy search using a composable with [Fuse.js](https://github.com/krisk/fuse) | EXTERNAL |
| [`useIDBKeyval`](references/useIDBKeyval.md) | Wrapper for [`idb-keyval`](https://www.npmjs.com/package/idb-keyval) | EXTERNAL |
| [`useJwt`](references/useJwt.md) | Wrapper for [`jwt-decode`](https://github.com/auth0/jwt-decode) | EXTERNAL |
| [`useNProgress`](references/useNProgress.md) | Reactive wrapper for [`nprogress`](https://github.com/rstacruz/nprogress) | EXTERNAL |
| [`useQRCode`](references/useQRCode.md) | Wrapper for [`qrcode`](https://github.com/soldair/node-qrcode) | EXTERNAL |
| [`useSortable`](references/useSortable.md) | Wrapper for [`sortable`](https://github.com/SortableJS/Sortable) | EXTERNAL |

### @Math

| Function | Description | Invocation |
|----------|-------------|------------|
| [`createGenericProjection`](references/createGenericProjection.md) | Generic version of `createProjection` | EXTERNAL |
| [`createProjection`](references/createProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |
| [`logicAnd`](references/logicAnd.md) | `AND` condition for refs | EXTERNAL |
| [`logicNot`](references/logicNot.md) | `NOT` condition for ref | EXTERNAL |
| [`logicOr`](references/logicOr.md) | `OR` conditions for refs | EXTERNAL |
| [`useAbs`](references/useAbs.md) | Reactive `Math.abs` | EXTERNAL |
| [`useAverage`](references/useAverage.md) | Get the average of an array reactively | EXTERNAL |
| [`useCeil`](references/useCeil.md) | Reactive `Math.ceil` | EXTERNAL |
| [`useClamp`](references/useClamp.md) | Reactively clamp a value between two other values | EXTERNAL |
| [`useFloor`](references/useFloor.md) | Reactive `Math.floor` | EXTERNAL |
| [`useMath`](references/useMath.md) | Reactive `Math` methods | EXTERNAL |
| [`useMax`](references/useMax.md) | Reactive `Math.max` | EXTERNAL |
| [`useMin`](references/useMin.md) | Reactive `Math.min` | EXTERNAL |
| [`usePrecision`](references/usePrecision.md) | Reactively set the precision of a number | EXTERNAL |
| [`useProjection`](references/useProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |
| [`useRound`](references/useRound.md) | Reactive `Math.round` | EXTERNAL |
| [`useSum`](references/useSum.md) | Get the sum of an array reactively | EXTERNAL |
| [`useTrunc`](references/useTrunc.md) | Reactive `Math.trunc` | EXTERNAL |

### @Motion

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useElementStyle`](https://motion.vueuse.org/api/use-element-style) | Sync a reactive object to a target element CSS styling | EXTERNAL |
| [`useElementTransform`](https://motion.vueuse.org/api/use-element-transform) | Sync a reactive object to a target element CSS transform. | EXTERNAL |
| [`useMotion`](https://motion.vueuse.org/api/use-motion) | Putting your components in motion. | EXTERNAL |
| [`useMotionProperties`](https://motion.vueuse.org/api/use-motion-properties) | Access Motion Properties for a target element. | EXTERNAL |
| [`useMotionVariants`](https://motion.vueuse.org/api/use-motion-variants) | Handle the Variants state and selection. | EXTERNAL |
| [`useSpring`](https://motion.vueuse.org/api/use-spring) | Spring animations. | EXTERNAL |

### @Router

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useRouteHash`](references/useRouteHash.md) | Shorthand for a reactive `route.hash` | EXTERNAL |
| [`useRouteParams`](references/useRouteParams.md) | Shorthand for a reactive `route.params` | EXTERNAL |
| [`useRouteQuery`](references/useRouteQuery.md) | Shorthand for a reactive `route.query` | EXTERNAL |

### @RxJS

| Function | Description | Invocation |
|----------|-------------|------------|
| [`from`](references/from.md) | Wrappers around RxJS's [`from()`](https://rxjs.dev/api/index/function/from) and [`fromEvent()`](https://rxjs.dev/api/index/function/fromEvent) to allow them to accept `ref`s | EXTERNAL |
| [`toObserver`](references/toObserver.md) | Sugar function to convert a `ref` into an RxJS [Observer](https://rxjs.dev/guide/observer) | EXTERNAL |
| [`useExtractedObservable`](references/useExtractedObservable.md) | Use an RxJS [`Observable`](https://rxjs.dev/guide/observable) as extracted from one or more composables | EXTERNAL |
| [`useObservable`](references/useObservable.md) | Use an RxJS [`Observable`](https://rxjs.dev/guide/observable) | EXTERNAL |
| [`useSubject`](references/useSubject.md) | Bind an RxJS [`Subject`](https://rxjs.dev/guide/subject) to a `ref` and propagate value changes both ways | EXTERNAL |
| [`useSubscription`](references/useSubscription.md) | Use an RxJS [`Subscription`](https://rxjs.dev/guide/subscription) without worrying about unsubscribing from it or creating memory leaks | EXTERNAL |
| [`watchExtractedObservable`](references/watchExtractedObservable.md) | Watch the values of an RxJS [`Observable`](https://rxjs.dev/guide/observable) as extracted from one or more composables | EXTERNAL |

### @SchemaOrg

| Function | Description | Invocation |
|----------|-------------|------------|
| [`createSchemaOrg`](https://vue-schema-org.netlify.app/api/core/create-schema-org.html) | Create the schema.org manager instance. | EXTERNAL |
| [`useSchemaOrg`](https://vue-schema-org.netlify.app/api/core/use-schema-org.html) | Update schema.org reactively. | EXTERNAL |

### @Sound

| Function | Description | Invocation |
|----------|-------------|------------|
| [`useSound`](https://github.com/vueuse/sound#examples) | Play sound effects reactively. | EXTERNAL |


所有文件

0 个文件

安装 vueuse-functions

下载技能文件并将其解压到 .claude/skills/ 目录下。

下载ZIP

克隆仓库并复制技能文件到您的项目中。

git clone https://github.com/antfu/skills/tree/main/skills/vueuse-functions # Copy SKILL.md to your .claude/skills/ directory

复制 复制
快速设置: 将技能文件夹复制到 .claude/skills/ Claude 会自动检测并使用该技能
仓库 antfu/skills

相关技能

github-code-search
更新时间 2026-06-29
drizzle-orm
更新时间 2026-06-29
clickhouse-io
更新时间 2026-06-29
prisma-client-api
更新时间 2026-06-29
OR