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 |
사용자가 다음을 호출할 때 ref의 변경 내역을 수동으로 추적합니다. 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 |
자동 |
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.onfocus 및 window.onblur 이벤트를 사용하여 창 포커스를 반응적으로 추적합니다. |
AUTO |
useWindowScroll |
반응형 창 스크롤 |
AUTO |
useWindowSize |
반응형 창 크기 |
자동 |
브라우저
| 기능 |
설명 |
호출 |
useBluetooth |
반응형 웹 블루투스 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 |
데이터 자동 저장 기능이 포함된 반응형 다크 모드 |
AUTO |
useEventListener |
EventListener를 손쉽게 사용하기 |
AUTO |
useEyeDropper |
반응형 EyeDropper 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 |
반응형 메모리 정보 |
AUTO |
useObjectUrl |
객체를 나타내는 반응형 URL |
AUTO |
usePerformanceObserver |
성능 지표 관찰 |
AUTO |
usePermission |
반응형 권한 API |
AUTO |
usePreferredColorScheme |
Reactive의 prefers-color-scheme 미디어 쿼리 |
AUTO |
usePreferredContrast |
Reactive prefers-contrast 미디어 쿼리 |
AUTO |
usePreferredDark |
반응형 다크 테마 기본 설정 |
AUTO |
usePreferredLanguages |
Reactive Navigator 언어 |
AUTO |
usePreferredReducedMotion |
Reactive prefers-reduced-motion 미디어 쿼리 |
자동 |
usePreferredReducedTransparency |
Reactive prefers-reduced-transparency 미디어 쿼리 |
AUTO |
useScreenOrientation |
반응형 화면 방향 API |
AUTO |
useScreenSafeArea |
Reactive env(safe-area-inset-*) |
AUTO |
useScriptTag |
스크립트 태그를 생성합니다 |
AUTO |
useShare |
반응형 웹 공유 API |
AUTO |
useSSRWidth |
뷰포트 너비에 의존하는 SSR 컴포넌트를 렌더링할 때 사용될 전역 뷰포트 너비를 설정하는 데 사용됩니다. useMediaQuery 또는 useBreakpoints |
AUTO |
useStyleTag |
헤드(head)에 리액티브 style 요소를 head에 삽입 |
AUTO |
useTextareaAutosize |
내용에 따라 텍스트 영역의 높이를 자동으로 업데이트 |
AUTO |
useTextDirection |
요소 텍스트의 반응형 디렉터리 |
AUTO |
useTitle |
문서 제목의 반응형 업데이트 |
AUTO |
useUrlSearchParams |
반응형 URLSearchParams |
AUTO |
useVibrate |
반응형 진동 API |
AUTO |
useWakeLock |
Reactive 화면 깨우기 잠금 API |
AUTO |
useWebNotification |
반응형 알림 |
자동 |
useWebWorker |
간편한 웹 워커 등록 및 통신 |
AUTO |
useWebWorkerFn |
UI를 차단하지 않고 리소스 소모가 큰 함수 실행하기 |
AUTO |
센서
| 함수 |
설명 |
호출 |
onClickOutside |
요소 외부에서 발생하는 클릭을 감지합니다 |
AUTO |
onElementRemoval |
해당 요소 또는 이를 포함하는 요소가 DOM에서 제거될 때 발생합니다. |
AUTO |
onKeyStroke |
키보드 키 입력을 감지합니다. |
AUTO |
onLongPress |
요소를 길게 누르는 동작을 감지합니다. |
AUTO |
onStartTyping |
사용자가 편집 불가능한 요소에서 입력을 시작할 때 발생합니다 |
AUTO |
useBattery |
반응형 배터리 상태 API |
AUTO |
useDeviceMotion |
반응형 DeviceMotionEvent |
AUTO |
useDeviceOrientation |
반응형 DeviceOrientationEvent |
AUTO |
useDevicePixelRatio |
반응형 추적 window.devicePixelRatio |
AUTO |
useDevicesList |
사용 가능한 입력/출력 장치를 나열하는 반응형 enumerateDevices |
AUTO |
useDisplayMedia |
반응형 mediaDevices.getDisplayMedia 스트리밍 |
AUTO |
useElementByPoint |
반응형 요소별 점별 처리 |
자동 |
useElementHover |
반응형 요소의 호버 상태 |
AUTO |
useFocus |
DOM 요소의 포커스 상태를 추적하거나 설정하는 반응형 유틸리티 |
AUTO |
useFocusWithin |
요소 또는 그 자손 요소 중 하나가 포커스를 가지고 있는지 추적하는 리액티브 유틸리티 |
AUTO |
useFps |
반응형 FPS(초당 프레임 수) |
AUTO |
useGeolocation |
반응형 지리적 위치 API |
AUTO |
useIdle |
사용자가 비활성 상태인지 여부를 추적합니다. |
자동 |
useInfiniteScroll |
요소의 무한 스크롤 |
AUTO |
useKeyModifier |
반응형 수정자 상태 |
AUTO |
useMagicKeys |
반응형 키 입력 상태 |
AUTO |
useMouse |
리액티브 마우스 위치 |
AUTO |
useMousePressed |
반응형 마우스 클릭 상태 |
AUTO |
useNavigatorLanguage |
반응형 네비게이터 언어 |
AUTO |
useNetwork |
반응형 네트워크 상태 |
AUTO |
useOnline |
반응형 온라인 상태 |
AUTO |
usePageLeave |
마우스가 페이지를 떠나는지 여부를 나타내는 반응형 상태 |
AUTO |
useParallax |
파라락스 효과를 손쉽게 생성 |
AUTO |
usePointer |
반응형 포인터 상태 |
AUTO |
usePointerLock |
반응형 포인터 잠금 |
자동 |
usePointerSwipe |
PointerEvents를 기반으로 한 반응형 스와이프 감지 |
AUTO |
useScroll |
반응형 스크롤 위치 및 상태 |
AUTO |
useScrollLock |
요소의 스크롤 잠금 |
AUTO |
useSpeechRecognition |
반응형 음성 인식 |
AUTO |
useSpeechSynthesis |
반응형 음성 합성 |
AUTO |
useSwipe |
다음에 기반한 반응형 스와이프 감지 TouchEvents |
자동 |
useTextSelection |
다음 기준에 따라 사용자의 텍스트 선택을 반응형으로 추적 Window.getSelection |
AUTO |
useUserMedia |
반응형 mediaDevices.getUserMedia 스트리밍 |
AUTO |
네트워크
| 함수 |
설명 |
호출 |
useEventSource |
EventSource 또는 Server-Sent-Events 인스턴스가 HTTP 서버에 대한 영구 연결을 엽니다. |
AUTO |
useFetch |
Reactive Fetch API는 요청을 중단할 수 있는 기능을 제공합니다. |
AUTO |
useWebSocket |
Reactive WebSocket 클라이언트 |
AUTO |
애니메이션
| 함수 |
설명 |
호출 |
useAnimate |
반응형 웹 애니메이션 API |
AUTO |
useInterval |
매 간격마다 증가하는 반응형 카운터 |
AUTO |
useIntervalFn |
다음에 대한 래퍼 setInterval 컨트롤이 포함된 |
AUTO |
useNow |
반응형 Date 인스턴스 |
AUTO |
useRafFn |
매번 함수 호출 requestAnimationFrame |
AUTO |
useTimeout |
반응성 값이 true 지정된 시간이 지난 후 |
AUTO |
useTimeoutFn |
다음에 대한 래퍼 setTimeout 제어 기능이 포함된 |
AUTO |
useTimestamp |
반응성 전류 타임스탬프 |
AUTO |
useTransition |
값 간 전환 |
자동 |
구성 요소
| 함수 |
설명 |
호출 |
computedInject |
결합 computed 및 inject |
AUTO |
createReusableTemplate |
컴포넌트 범위 내에서 템플릿 정의 및 재사용 |
AUTO |
createTemplatePromise |
프로미스로서의 템플릿 |
AUTO |
templateRef |
ref를 템플릿 요소에 바인딩하는 약식 표기법 |
AUTO |
tryOnBeforeMount |
안전 onBeforeMount |
AUTO |
tryOnBeforeUnmount |
안전 onBeforeUnmount |
AUTO |
tryOnMounted |
안전 onMounted |
AUTO |
tryOnScopeDispose |
안전 onScopeDispose |
AUTO |
tryOnUnmounted |
안전 onUnmounted |
AUTO |
unrefElement |
Vue ref 또는 컴포넌트 인스턴스에서 기본 DOM 요소를 가져옵니다 |
AUTO |
useCurrentElement |
현재 컴포넌트의 DOM 요소를 ref로 가져옵니다. |
AUTO |
useMounted |
ref에 마운트된 상태 |
AUTO |
useTemplateRefsList |
템플릿 요소 및 내부 컴포넌트에 ref를 바인딩하는 약식 표기법 v-for |
AUTO |
useVirtualList |
가상 목록을 손쉽게 생성하세요 |
AUTO |
useVModel |
v-모델 바인딩을 위한 약어 |
AUTO |
useVModels |
props v-model 바인딩을 위한 약어 |
AUTO |
Watch
| 함수 |
설명 |
호출 |
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 |
값이 참(truthy)이 될 때 감시하는 약어 |
AUTO |
반응성
| 함수 |
설명 |
호출 |
computedAsync |
비동기 함수에 대해 계산됨 |
AUTO |
computedEager |
지연 평가 없이 즉시 계산됨 |
AUTO |
computedWithControl |
computed의 종속성을 명시적으로 정의합니다. |
AUTO |
createRef |
다음 값을 반환합니다. deepRef 또는 shallowRef 를 반환합니다. deep param |
AUTO |
extendRef |
Ref에 추가 속성을 추가합니다 |
AUTO |
reactify |
일반 함수를 반응형 함수로 변환합니다 |
AUTO |
reactifyObject |
적용 reactify 객체에 적용 |
AUTO |
reactiveComputed |
계산된 반응형 객체 |
AUTO |
reactiveOmit |
반응형 객체에서 필드를 반응적으로 생략 |
AUTO |
reactivePick |
반응형 객체에서 필드를 반응적으로 선택하기 |
AUTO |
refAutoReset |
일정 시간이 지나면 기본값으로 재설정되는 참조 |
AUTO |
refDebounced |
ref 값의 실행에 대한 데바운싱 |
AUTO |
refDefault |
ref에 기본값 적용하기 |
AUTO |
refManualReset |
수동 재설정 기능이 있는 ref 생성 |
AUTO |
refThrottled |
참조 값 변경 제한 |
AUTO |
refWithControl |
참조값 및 그 반응성에 대한 세밀한 제어 |
AUTO |
syncRef |
양방향 참조 동기화 |
AUTO |
syncRefs |
대상 참조를 소스 참조와 동기화 유지 |
자동 |
toReactive |
참조를 반응형으로 변환 |
AUTO |
toRef |
값/참조/게터를 다음으로 정규화합니다. ref 또는 computed |
EXPLICIT_ONLY |
toRefs |
확장 toRefs 또한 객체의 ref를 허용하는 |
AUTO |
배열
| 함수 |
설명 |
호출 |
useArrayDifference |
반응형: 두 배열의 차이를 가져옴 |
AUTO |
useArrayEvery |
반응형 Array.every |
AUTO |
useArrayFilter |
Reactive Array.filter |
AUTO |
useArrayFind |
반응형 Array.find |
AUTO |
useArrayFindIndex |
반응형 Array.findIndex |
AUTO |
useArrayFindLast |
반응형 Array.findLast |
AUTO |
useArrayIncludes |
반응형 Array.includes |
AUTO |
useArrayJoin |
반응형 Array.join |
AUTO |
useArrayMap |
반응형 Array.map |
AUTO |
useArrayReduce |
반응형 Array.reduce |
AUTO |
useArraySome |
반응형 Array.some |
AUTO |
useArrayUnique |
반응형 고유 배열 |
AUTO |
useSorted |
반응형 정렬 배열 |
AUTO |
시간
| 함수 |
설명 |
호출 |
useCountdown |
초 단위의 반응형 카운트다운 타이머 |
AUTO |
useDateFormat |
전달된 토큰 문자열에 따라 서식이 지정된 날짜를 가져옵니다. |
AUTO |
useTimeAgo |
반응형 '지나간 시간' 표시 |
AUTO |
useTimeAgoIntl |
i18n을 지원하는 ‘Reactive time ago’ 형식 |
AUTO |
유틸리티
| 함수 |
설명 |
호출 |
createDisposableDirective |
일회용 지시문 작성용 유틸리티 |
AUTO |
createEventHook |
이벤트 후크를 생성하기 위한 유틸리티 |
AUTO |
createUnrefFn |
ref 및 raw 값을 인수로 받는 일반 함수 생성 |
AUTO |
get |
다음에 액세스하기 위한 약식 표기법 ref.value |
EXPLICIT_ONLY |
isDefined |
Ref에 대한 nullish가 아닌 검사 타입 가드 |
AUTO |
makeDestructurable |
객체와 배열에 대해 동시에 동형 파괴 가능하게 만들기 |
AUTO |
set |
다음의 약식 표기법 ref.value = x |
EXPLICIT_ONLY |
useAsyncQueue |
각 비동기 작업을 순차적으로 실행하고 현재 작업의 결과를 다음 작업으로 전달합니다. |
AUTO |
useBase64 |
반응형 base64 변환 |
AUTO |
useCached |
사용자 정의 비교기를 사용하여 ref를 캐시합니다. |
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 결과 |
EXTERNAL |
useIpcRendererOn |
ipcRenderer.on을 간편하게 사용하고, 언마운트 시 ipcRenderer.removeListener가 자동으로 실행됩니다. |
외부 |
useZoomFactor |
Reactive WebFrame 확대/축소 배율 |
EXTERNAL |
useZoomLevel |
Reactive WebFrame 확대/축소 레벨 |
EXTERNAL |
@Firebase
| 함수 |
설명 |
호출 |
useAuth |
반응형 Firebase Auth 바인딩 |
EXTERNAL |
useFirestore |
Reactive Firestore 바인딩 |
EXTERNAL |
useRTDB |
Reactive Firebase Realtime Database 바인딩 |
EXTERNAL |
@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 참조 조건 |
EXTERNAL |
useAbs |
반응형 Math.abs |
EXTERNAL |
useAverage |
배열의 평균을 반응형 방식으로 구하기 |
외부 |
useCeil |
반응형 Math.ceil |
EXTERNAL |
useClamp |
값을 다른 두 값 사이에 반응적으로 제한하기 |
EXTERNAL |
useFloor |
반응형 Math.floor |
EXTERNAL |
useMath |
반응형 Math 메서드 |
EXTERNAL |
useMax |
반응형 Math.max |
EXTERNAL |
useMin |
반응형 Math.min |
외부 |
usePrecision |
숫자의 정밀도를 반응형으로 설정 |
EXTERNAL |
useProjection |
한 도메인에서 다른 도메인으로의 반응형 숫자 투영 |
EXTERNAL |
useRound |
반응형 Math.round |
EXTERNAL |
useSum |
배열의 합을 반응형 방식으로 가져오기 |
EXTERNAL |
useTrunc |
반응형 Math.trunc |
EXTERNAL |
@Motion
| 함수 |
설명 |
호출 |
useElementStyle |
반응형 객체를 대상 요소의 CSS 스타일에 동기화합니다. |
EXTERNAL |
useElementTransform |
반응형 객체를 대상 요소의 CSS 변환과 동기화합니다. |
EXTERNAL |
useMotion |
컴포넌트에 움직임을 더하세요. |
EXTERNAL |
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 Observer로 변환하는 |
EXTERNAL |
useExtractedObservable |
하나 이상의 컴포저블에서 추출된 RxJS Observable 하나 이상의 컴포저블에서 추출된 |
외부 |
useObservable |
RxJS 사용 Observable |
외부 |
useSubject |
RxJS를 Subject 에 ref 값 변경 사항을 양방향으로 전파 |
EXTERNAL |
useSubscription |
RxJS를 사용하여 Subscription 구독 해지나 메모리 누수 발생에 대한 걱정 없이 사용할 수 있습니다 |
EXTERNAL |
watchExtractedObservable |
하나 이상의 컴포저블에서 추출된 Observable 하나 이상의 컴포저블에서 추출된 값을 관찰하세요 |
EXTERNAL |
@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 |