選項
首頁首頁 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 自動
useManualRefHistory 當使用者呼叫時,手動追蹤 ref 的變更歷史紀錄 commit() AUTO
useRefHistory 追蹤 ref 的變更歷史紀錄 AUTO
useSessionStorage 反應式 SessionStorage AUTO
useStorage 建立一個反應式 ref,可用於存取及修改 LocalStorage 或 SessionStorage AUTO
useStorageAsync 支援非同步的反應式儲存機制 AUTO
useThrottledRefHistory 以下為簡寫形式 useRefHistory 並帶有流量控制篩選器 AUTO

元素

功能 說明 呼叫方式
useActiveElement 反應式 document.activeElement AUTO
useDocumentVisibility 以反應式方式追蹤 document.visibilityState 自動
useDraggable 使元素可拖曳 自動
useDropZone 建立可拖放檔案的區域 自動
useElementBounding HTML 元素的反應式邊界框 AUTO
useElementSize HTML 元素的反應式尺寸 自動
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 反應式視口斷點 自動
useBroadcastChannel 反應式廣播通道 API 自動
useBrowserLocation 反應式瀏覽器位置 AUTO
useClipboard 反應式剪貼簿 API 自動
useClipboardItems 反應式剪貼簿 API 自動
useColorMode 具備自動資料持久化功能的反應式色彩模式(深色/淺色/自訂) AUTO
useCssSupports 相容於 SSR 且具反應式特性 CSS.supports AUTO
useCssVar 操作 CSS 變數 自動
useDark 具備自動資料持久化的反應式深色模式 自動
useEventListener 輕鬆使用 EventListener AUTO
useEyeDropper 反應式取色器 API AUTO
useFavicon 反應式網站圖示 AUTO
useFileDialog 輕鬆開啟檔案對話方塊 AUTO
useFileSystemAccess 使用 FileSystemAccessAPI 建立、讀取及寫入本機檔案 AUTO
useFullscreen 反應式全螢幕 API AUTO
useGamepad 為 Gamepad API 提供反應式綁定 AUTO
useImage 在瀏覽器中以反應式方式載入圖片 AUTO
useMediaControls 適用於兩者的反應式媒體控制項 audio 以及 video 元素 AUTO
useMediaQuery 反應式媒體查詢 AUTO
useMemory 反應式記憶體資訊 自動
useObjectUrl 代表物件的反應式 URL 自動
usePerformanceObserver 觀察效能指標 自動
usePermission 反應式權限 API AUTO
usePreferredColorScheme Reactive 的「prefer-color-scheme」媒體查詢 AUTO
usePreferredContrast Reactive 的 prefers-contrast 媒體查詢 自動
usePreferredDark 反應式「深色主題」偏好設定 自動
usePreferredLanguages Reactive Navigator 語言 自動
usePreferredReducedMotion Reactive「偏好減少動態效果」媒體查詢 自動
usePreferredReducedTransparency Reactive「prefer-reduced-transparency」媒體查詢 自動
useScreenOrientation 反應式螢幕方向 API AUTO
useScreenSafeArea Reactive env(safe-area-inset-*) AUTO
useScriptTag 建立一個 script 標籤 自動
useShare 反應式 Web Share API 自動
useSSRWidth 用於設定全域視口寬度,此寬度將在渲染依賴視口寬度的 SSR 元件時使用,例如 useMediaQueryuseBreakpoints AUTO
useStyleTag 在 head 部分注入反應式 style 元素至 head 標籤中 AUTO
useTextareaAutosize 根據內容自動更新文字輸入區的高度 自動
useTextDirection 元素文字的反應式方向 AUTO
useTitle 文件標題的反應式設定 AUTO
useUrlSearchParams URLSearchParams 的反應式值 自動
useVibrate 反應式震動 API 自動
useWakeLock 反應式螢幕喚醒鎖定 API AUTO
useWebNotification 反應式通知 自動
useWebWorker 簡易的 Web Workers 註冊與通訊 AUTO
useWebWorkerFn 在不阻塞使用者介面的情況下執行資源消耗較大的函式 AUTO

感測器

功能 說明 呼叫方式
onClickOutside 監聽元素外部的點擊事件 AUTO
onElementRemoval 當該元素或包含該元素的任何元素從 DOM 中移除時觸發 AUTO
onKeyStroke 監聽鍵盤按鍵事件 AUTO
onLongPress 監聽元素的長按事件 AUTO
onStartTyping 當使用者開始在不可編輯的元素上輸入文字時觸發 AUTO
useBattery 反應式電池狀態 API AUTO
useDeviceMotion 反應式 DeviceMotionEvent 自動
useDeviceOrientation 反應式裝置方向事件 自動
useDevicePixelRatio 反應式追蹤 window.devicePixelRatio 自動
useDevicesList 反應式 enumerateDevices 列出可用的輸入/輸出裝置 自動
useDisplayMedia 反應式 mediaDevices.getDisplayMedia 串流 AUTO
useElementByPoint 反應式逐點元素 自動
useElementHover 反應式元素的懸停狀態 自動
useFocus 用於追蹤或設定 DOM 元素焦點狀態的反應式工具元件 AUTO
useFocusWithin 用於追蹤元素或其後代之一是否擁有焦點的反應式輔助函式 AUTO
useFps 反應式 FPS(每秒幀數) AUTO
useGeolocation 反應式地理位置 API AUTO
useIdle 追蹤使用者是否處於閒置狀態 自動
useInfiniteScroll 元素的無限捲動 AUTO
useKeyModifier 反應式修飾子狀態 AUTO
useMagicKeys 反應式按鍵按下狀態 自動
useMouse 反應式滑鼠位置 自動
useMousePressed 反應式滑鼠按鍵狀態 自動
useNavigatorLanguage 反應式導覽器語言 自動
useNetwork 反應式網路狀態 自動
useOnline 反應式線上狀態 自動
usePageLeave 用以顯示滑鼠是否離開頁面的反應狀態 自動
useParallax 輕鬆建立視差效果 AUTO
usePointer 反應式游標狀態 自動
usePointerLock 反應式游標鎖定 自動
usePointerSwipe 基於 PointerEvents 的反應式滑動偵測 自動
useScroll 反應式捲動位置與狀態 自動
useScrollLock 鎖定元素的捲動 AUTO
useSpeechRecognition 反應式語音辨識 AUTO
useSpeechSynthesis 反應式語音合成 自動
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 反應式網頁動畫 API AUTO
useInterval 每隔一個時間間隔便會遞增的反應式計數器 AUTO
useIntervalFn 用於 setInterval 並附帶控制項的封裝函式 AUTO
useNow 反應式 Date 實例 自動
useRafFn 每隔一次呼叫函式 requestAnimationFrame 自動
useTimeout 當無功電流值達到 true 在指定時間後 AUTO
useTimeoutFn 用於 setTimeout 帶有控制項的 AUTO
useTimestamp 感應電流時間戳記 自動
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

Watch

函式 說明 呼叫
until 承諾對變更進行一次性監控 AUTO
watchArray 監控包含新增與移除項目的陣列 AUTO
watchAtMost watch 並顯示觸發次數 自動
watchDebounced 防抖動監控 AUTO
watchDeep 監控值的簡寫,搭配 {deep: true} AUTO
watchIgnorable 可忽略的監控 AUTO
watchImmediate 使用以下方式監控值的簡寫形式 {immediate: true} AUTO
watchOnce 使用 { once: true } AUTO
watchPausable 可暫停的監看 AUTO
watchThrottled 限流監看 AUTO
watchTriggerable 可手動觸發的監控 自動
watchWithFilter watch 並具備額外的 EventFilter 控制功能 自動
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 將預設值套用至參考變數 自動
refManualReset 建立具有手動重置功能的 ref 自動
refThrottled 限制參考值的變更頻率 AUTO
refWithControl 對參考值及其反應性的細粒度控制 自動
syncRef 雙向參考值同步 自動
syncRefs 讓目標引用與來源引用保持同步 自動
toReactive 將參考轉換為反應式 AUTO
toRef 將值/參照/取得器正規化為 refcomputed EXPLICIT_ONLY
toRefs 擴展 toRefs 該方法亦接受物件的引用 AUTO

陣列

函式 說明 呼叫
useArrayDifference Reactive 取得兩個陣列之間的差異 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 反應式唯一陣列 自動
useSorted 反應式排序陣列 AUTO

時間

函式 說明 呼叫方式
useCountdown 以秒為單位的反應式倒數計時器 AUTO
useDateFormat 根據傳入的標記字串取得格式化的日期 AUTO
useTimeAgo 反應式「經過的時間」 自動
useTimeAgoIntl 支援 i18n 的「X 時間前」反應式時間表示法 自動

公用程式

函式 說明 呼叫
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 參考的反應式複製 自動
useConfirmDialog 建立事件掛鉤以支援模態視窗與確認對話方塊鏈 AUTO
useCounter 帶有輔助函式的基礎計數器 AUTO
useCycleList 循環遍歷項目清單 AUTO
useDebounceFn 消除函式執行的反彈現象 AUTO
useEventBus 一個基本的事件總線 AUTO
useMemoize 根據參數快取函式結果並保持其反應性 AUTO
useOffsetPagination 反應式偏移分頁 AUTO
usePrevious 保留參考變數的先前值 AUTO
useStepper 提供用於建構多步驟精靈介面的輔助函式 AUTO
useSupported SSR 相容性 isSupported AUTO
useThrottleFn 限制函式的執行頻率 自動
useTimeoutPoll 使用超時機制進行輪詢 AUTO
useToggle 帶有輔助函式的布林切換器 AUTO
useToNumber 以反應式方式將字串參考轉換為數字 AUTO
useToString 以反應式方式將引用轉換為字串 AUTO

@Electron

函式 說明 呼叫
useIpcRenderer 為 ipcRenderer 及其所有 API 提供 Vue 反應性 外部
useIpcRendererInvoke 反應式 ipcRenderer.invoke API 結果 外部
useIpcRendererOn 輕鬆使用 ipcRenderer.on,並在卸載時自動呼叫 ipcRenderer.removeListener 外部
useZoomFactor Reactive WebFrame 縮放係數 外部
useZoomLevel Reactive WebFrame 縮放等級 外部

@Firebase

函式 描述 呼叫
useAuth Reactive Firebase Auth 綁定 外部
useFirestore Reactive Firestore 綁定 外部
useRTDB Reactive Firebase 即時資料庫綁定 外部

@Head

函式 描述 呼叫
createHead 建立頭部管理員實例。 EXTERNAL
useHead 以反應式方式更新頭部元標籤。 外部

@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 的可組合元件輕鬆實作模糊搜尋 外部
useIDBKeyval 用於 idb-keyval EXTERNAL
useJwt 用於 jwt-decode 外部
useNProgress 用於 nprogress EXTERNAL
useQRCode 用於 qrcode EXTERNAL
useSortable 用於 sortable EXTERNAL

@Math

函式 說明 呼叫方式
createGenericProjection 的通用版本 createProjection EXTERNAL
createProjection 將數值從一個域投影至另一個域的反應式操作 EXTERNAL
logicAnd AND 對引用(refs)的條件 EXTERNAL
logicNot NOT ref 的條件 外部
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 外部
useSum 以反應式方式取得陣列的總和 外部
useTrunc 反應式 Math.trunc 外部

@Motion

函式 描述 呼叫方式
useElementStyle 將反應式物件與目標元素的 CSS 樣式同步 外部
useElementTransform 將反應式物件與目標元素的 CSS 變換同步。 外部
useMotion 讓您的元件動起來。 外部
useMotionProperties 存取目標元素的動態屬性。 外部
useMotionVariants 處理變體的狀態與選取範圍。 外部
useSpring 彈簧動畫。 外部

@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 ,並在雙向傳播值變化 外部
useSubscription 使用 RxJS Subscription ,無需擔心取消訂閱或造成記憶體洩漏 外部
watchExtractedObservable 監控 RxJS 的值 Observable (這些值是從一個或多個可組合函式中提取而來) 外部監控 RxJS 的值這些值是從一個或多個可組合函式中提取的

@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