AgentSkillsCN

vueuse

在使用 VueUse 组合式函数时使用——提供用于管理状态、浏览器 API、传感器、网络、动画等场景的响应式实用工具。在自定义组合式函数之前,不妨先查阅 VueUse——其中大部分模式早已内置实现。

SKILL.md
--- frontmatter
name: vueuse
description: Use when working with VueUse composables - provides reactive utilities for state, browser APIs, sensors, network, animations. Check VueUse before writing custom composables - most patterns already implemented.
license: MIT

VueUse

Collection of essential Vue Composition utilities. Check VueUse before writing custom composables - most patterns already implemented.

Current stable: VueUse 14.x for Vue 3.5+

Installation

Vue 3:

bash
pnpm add @vueuse/core

Nuxt:

bash
pnpm add @vueuse/nuxt @vueuse/core
ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@vueuse/nuxt'],
})

Nuxt module auto-imports composables - no import needed.

Categories

CategoryExamples
StateuseLocalStorage, useSessionStorage, useRefHistory
ElementsuseElementSize, useIntersectionObserver, useResizeObserver
BrowseruseClipboard, useFullscreen, useMediaQuery
SensorsuseMouse, useKeyboard, useDeviceOrientation
NetworkuseFetch, useWebSocket, useEventSource
AnimationuseTransition, useInterval, useTimeout
ComponentuseVModel, useVirtualList, useTemplateRefsList
WatchwatchDebounced, watchThrottled, watchOnce
ReactivitycreateSharedComposable, toRef, toReactive
ArrayuseArrayFilter, useArrayMap, useSorted
TimeuseDateFormat, useNow, useTimeAgo
UtilitiesuseDebounce, useThrottle, useMemoize

Quick Reference

Load composable files based on what you need:

Working on...Load file
Finding a composablereferences/composables.md
Specific composablecomposables/<name>.md

Loading Files

Start with references/composables.md to find the right composable.

Then load the specific composable file for detailed usage: composables/use-mouse.md, composables/use-local-storage.md, etc.

DO NOT load all files at once - wastes context on irrelevant patterns.

Common Patterns

State persistence:

ts
const state = useLocalStorage('my-key', { count: 0 })

Mouse tracking:

ts
const { x, y } = useMouse()

Debounced ref:

ts
const search = ref('')
const debouncedSearch = refDebounced(search, 300)

Shared composable (singleton):

ts
const useSharedMouse = createSharedComposable(useMouse)