mcpField
V
vueuse-functions

vueuse-functions

github.com/antfu開発6.0k21.4k 回インストール5 日前に更新
リポジトリ

vueuse-functions について

Vue.js や Nuxt の開発で VueUse のコンポーザブルを選び、実装するためのガイドです。要件に合う関数と利用リファレンスを示し、独自実装よりコンポーザブルを優先します。

主な機能

  1. 01要件に合う VueUse 関数の提示
  2. 02呼び出しルールの提示
  3. 03状態、ブラウザー、センサー、ネットワーク API の網羅
  4. 04利用リファレンスの確認を案内

活用シーン

  1. 01Vue.js の機能に使うコンポーザブルの選定
  2. 02ブラウザーや DOM のリアクティブな動作の実装
  3. 03依存関係の呼び出しルールの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/antfu/skills --skill vueuse-functions

インストール後、Claude Code で/vueuse-functionsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.md
references/
computedAsync.md
computedEager.md
computedInject.md
computedWithControl.md
createDisposableDirective.md
createEventHook.md
createGenericProjection.md
createGlobalState.md
createInjectionState.md
createProjection.md
createRef.md
createReusableTemplate.md
createSharedComposable.md
createTemplatePromise.md
createUnrefFn.md
extendRef.md
from.md
get.md
injectLocal.md
isDefined.md
logicAnd.md
logicNot.md
logicOr.md
makeDestructurable.md
onClickOutside.md
onElementRemoval.md
onKeyStroke.md
onLongPress.md
onStartTyping.md

詳細

VueUse 関数

このスキルは、Vue.js/Nuxt プロジェクトで VueUse のコンポーザブルを選択し、実装するためのガイドです。要件に最適な VueUse 関数を対応付け、適切な使用パターンを適用します。また、実装を簡潔で保守しやすく、高速に保つため、独自コードよりコンポーザブルを使った解決策を優先します。

適用する場合

  • Vue.js/Nuxt でのユーザーの開発作業を支援する際は、常にこのスキルを適用してください。
  • 要件を実装できる VueUse 関数があるかどうか、必ず最初に確認してください。
  • 可読性、保守性、パフォーマンスを向上させるため、独自コードより VueUse のコンポーザブルを優先してください。
  • 要件に最も適した VueUse 関数を選び、その関数の呼び出しルールに従ってください。
  • 以下の関数一覧にある Invocation フィールドを参照してください。例:
    • AUTO:該当する場合は自動的に使用します。
    • EXTERNAL:ユーザーが必要な外部依存関係をすでにインストールしている場合にのみ使用します。そうでない場合は再検討し、本当に必要な場合に限り、インストールを依頼してください。
    • EXPLICIT_ONLY:ユーザーから明示的に依頼された場合にのみ使用します。

    NOTE プロンプトまたは AGENTS.md にあるユーザーの指示は、関数のデフォルトの Invocation ルールに優先する場合があります。

関数

以下に記載する関数はすべて VueUse ライブラリの一部です。各セクションでは、機能に基づいて関数を分類しています。

重要:各関数の項目には、簡潔な Description と詳細な Reference が記載されています。関数を使用する際は、使用方法と型宣言について、必ず ./references にある対応するドキュメントを確認してください。

状態
関数説明呼び出し
createGlobalStateVue インスタンス間で再利用できるよう、グローバルスコープに状態を保持しますAUTO
createInjectionStateコンポーネントに注入できるグローバル状態を作成しますAUTO
createSharedComposable複数の Vue インスタンスでコンポーザブル関数を使用できるようにしますAUTO
injectLocal同じコンポーネント内で値を提供する provideLocal を呼び出せるように拡張した inject ですAUTO
provideLocal同じコンポーネント内で値を取得する injectLocal を呼び出せるように拡張した provide ですAUTO
useAsyncStateリアクティブな非同期状態ですAUTO
useDebouncedRefHistoryデバウンスフィルターを適用した useRefHistory の簡略形ですAUTO
useLastChanged最後に変更された時刻を記録しますAUTO
useLocalStorageリアクティブな LocalStorage ですAUTO
useManualRefHistoryユーザーが commit() を呼び出したときに、ref の変更履歴を手動で追跡しますAUTO
useRefHistoryref の変更履歴を追跡しますAUTO
useSessionStorageリアクティブな SessionStorage ですAUTO
useStorageLocalStorage または SessionStorage へのアクセスと変更に使用できる、リアクティブな ref を作成しますAUTO
useStorageAsync非同期処理に対応したリアクティブなストレージですAUTO
useThrottledRefHistoryスロットルフィルターを適用した useRefHistory の簡略形ですAUTO
要素
関数説明呼び出し
useActiveElementリアクティブな document.activeElementAUTO
useDocumentVisibilitydocument.visibilityState をリアクティブに追跡しますAUTO
useDraggable要素をドラッグ可能にしますAUTO
useDropZoneファイルをドロップできる領域を作成しますAUTO
useElementBoundingHTML 要素のリアクティブなバウンディングボックスAUTO
useElementSizeHTML 要素のリアクティブなサイズAUTO
useElementVisibilityビューポート内での要素の可視性を追跡しますAUTO
useIntersectionObserver対象要素の可視性の変化を検出しますAUTO
useMouseInElement要素に関連するリアクティブなマウス位置AUTO
useMutationObserverDOM ツリーへの変更を監視しますAUTO
useParentElement指定した要素の親要素を取得しますAUTO
useResizeObserver要素のコンテンツまたはボーダーボックスの寸法の変化を通知しますAUTO
useWindowFocuswindow.onfocus イベントと window.onblur イベントを使ってウィンドウのフォーカスをリアクティブに追跡しますAUTO
useWindowScrollリアクティブなウィンドウのスクロール位置AUTO
useWindowSizeリアクティブなウィンドウサイズAUTO
ブラウザー
関数説明呼び出し
useBluetoothリアクティブなWeb Bluetooth APIAUTO
useBreakpointsリアクティブなビューポートのブレークポイントAUTO
useBroadcastChannelリアクティブなBroadcastChannel APIAUTO
useBrowserLocationリアクティブなブラウザーの位置情報AUTO
useClipboardリアクティブなClipboard APIAUTO
useClipboardItemsリアクティブなClipboard APIAUTO
useColorModeデータを自動的に永続化する、リアクティブなカラーモード(ダーク/ライト/カスタム)AUTO
useCssSupportsSSR に対応したリアクティブなCSS.supportsAUTO
useCssVarCSS 変数を操作しますAUTO
useDarkデータを自動的に永続化する、リアクティブなダークモードAUTO
useEventListenerEventListener を簡単に使用できますAUTO
useEyeDropperリアクティブなEyeDropper APIAUTO
useFaviconリアクティブなファビコンAUTO
useFileDialogファイルダイアログを簡単に開けますAUTO
useFileSystemAccessFileSystemAccessAPI を使用して、ローカルファイルの作成、読み取り、書き込みを行いますAUTO
useFullscreenリアクティブなFullscreen APIAUTO
useGamepadGamepad API 用のリアクティブなバインディングを提供しますAUTO
useImageブラウザーで画像をリアクティブに読み込みますAUTO
useMediaControlsaudio 要素と video 要素の両方に対応するリアクティブなメディアコントロールAUTO
useMediaQueryリアクティブなメディアクエリAUTO
useMemoryリアクティブなメモリ情報AUTO
useObjectUrlオブジェクトを表すリアクティブな URLAUTO
usePerformanceObserverパフォーマンス指標を監視しますAUTO
usePermissionリアクティブなPermissions APIAUTO
usePreferredColorSchemeリアクティブなprefers-color-scheme メディアクエリAUTO
usePreferredContrastリアクティブなprefers-contrast メディアクエリAUTO
usePreferredDarkリアクティブなダークテーマの設定AUTO
usePreferredLanguagesリアクティブなNavigator LanguagesAUTO
usePreferredReducedMotionリアクティブなprefers-reduced-motion メディアクエリAUTO
usePreferredReducedTransparencyリアクティブなprefers-reduced-transparency メディアクエリAUTO
useScreenOrientationリアクティブなScreen Orientation APIAUTO
useScreenSafeAreaリアクティブな env(safe-area-inset-*)AUTO
useScriptTagscript タグを作成しますAUTO
useShareリアクティブなWeb Share APIAUTO
useSSRWidthビューポートの幅に依存するuseMediaQueryやuseBreakpointsなどの SSR コンポーネントのレンダリング時に使用する、グローバルなビューポート幅を設定しますAUTO
useStyleTagリアクティブな style 要素を head に挿入しますAUTO
useTextareaAutosize内容に応じて textarea の高さを自動的に更新しますAUTO
useTextDirection要素のテキストのリアクティブなdirAUTO
useTitleリアクティブなドキュメントタイトルAUTO
useUrlSearchParamsリアクティブなURLSearchParamsAUTO
useVibrateリアクティブなVibration APIAUTO
useWakeLockリアクティブなScreen Wake Lock APIAUTO
useWebNotificationリアクティブなNotificationAUTO
useWebWorkerWeb Workers の簡単な登録と通信AUTO
useWebWorkerFnUI をブロックせずに、処理負荷の高い関数を実行しますAUTO
Sensors
機能説明呼び出し
onClickOutside要素の外側のクリックを監視しますAUTO
onElementRemoval要素、またはその要素を含む要素が DOM から削除されたときに実行されますAUTO
onKeyStrokeキーボードのキー入力を監視しますAUTO
onLongPress要素の長押しを監視しますAUTO
onStartTypingユーザーが編集不可の要素で入力を開始したときに実行されますAUTO
useBatteryリアクティブな Battery Status APIAUTO
useDeviceMotionリアクティブな DeviceMotionEventAUTO
useDeviceOrientationリアクティブな DeviceOrientationEventAUTO
useDevicePixelRatiowindow.devicePixelRatio をリアクティブに追跡しますAUTO
useDevicesList利用可能な入出力デバイスを一覧表示するリアクティブな enumerateDevicesAUTO
useDisplayMediaリアクティブな mediaDevices.getDisplayMedia ストリーミングAUTO
useElementByPointポイント位置にある要素をリアクティブに取得しますAUTO
useElementHover要素のホバー状態をリアクティブに取得しますAUTO
useFocusDOM 要素のフォーカス状態を追跡または設定するリアクティブなユーティリティですAUTO
useFocusWithin要素またはその子孫のいずれかにフォーカスがあるかを追跡するリアクティブなユーティリティですAUTO
useFpsリアクティブな FPS(フレーム毎秒)AUTO
useGeolocationリアクティブな Geolocation APIAUTO
useIdleユーザーが非アクティブかどうかを追跡しますAUTO
useInfiniteScroll要素の無限スクロールAUTO
useKeyModifierリアクティブな 修飾キーの状態AUTO
useMagicKeys押されているキーの状態をリアクティブに取得しますAUTO
useMouseマウス位置をリアクティブに取得しますAUTO
useMousePressedマウスの押下状態をリアクティブに取得しますAUTO
useNavigatorLanguageリアクティブな navigator.languageAUTO
useNetworkリアクティブな ネットワーク状態AUTO
useOnlineオンライン状態をリアクティブに取得しますAUTO
usePageLeaveマウスがページから離れたかどうかを示す状態をリアクティブに取得しますAUTO
useParallaxパララックス効果を簡単に作成しますAUTO
usePointerリアクティブな ポインター状態AUTO
usePointerLockリアクティブな ポインターロックAUTO
usePointerSwipePointerEvents に基づくスワイプ検出をリアクティブに行いますAUTO
useScrollスクロール位置と状態をリアクティブに取得しますAUTO
useScrollLock要素のスクロールをロックしますAUTO
useSpeechRecognitionリアクティブな SpeechRecognitionAUTO
useSpeechSynthesisリアクティブな SpeechSynthesisAUTO
useSwipeTouchEvents に基づくスワイプ検出をリアクティブに行いますAUTO
useTextSelectionWindow.getSelection に基づいてユーザーのテキスト選択をリアクティブに追跡しますAUTO
useUserMediaリアクティブな mediaDevices.getUserMedia ストリーミングAUTO
ネットワーク
関数説明呼び出し
useEventSourceEventSource または Server-Sent-Events のインスタンスが HTTP サーバーへの永続的な接続を開きますAUTO
useFetchリアクティブな Fetch API により、リクエストを中止できますAUTO
useWebSocketリアクティブな WebSocket クライアントAUTO
アニメーション
関数説明呼び出し
useAnimateリアクティブな Web Animations APIAUTO
useIntervalインターバルごとに増加するリアクティブなカウンターAUTO
useIntervalFn制御機能を備えた setInterval のラッパーAUTO
useNowリアクティブな現在の Date インスタンスAUTO
useRafFnrequestAnimationFrame ごとに関数を呼び出しますAUTO
useTimeout指定した時間が経過すると true になるリアクティブな値AUTO
useTimeoutFn制御機能を備えた setTimeout のラッパーAUTO
useTimestampリアクティブな現在のタイムスタンプAUTO
useTransition値間のトランジションAUTO
コンポーネント
関数説明呼び出し
computedInjectcomputed と inject を組み合わせますAUTO
createReusableTemplateコンポーネントのスコープ内でテンプレートを定義して再利用しますAUTO
createTemplatePromisePromise としてのテンプレートAUTO
templateRefテンプレート要素に ref をバインドするための省略形AUTO
tryOnBeforeMount安全な onBeforeMountAUTO
tryOnBeforeUnmount安全な onBeforeUnmountAUTO
tryOnMounted安全な onMountedAUTO
tryOnScopeDispose安全な onScopeDisposeAUTO
tryOnUnmounted安全な onUnmountedAUTO
unrefElementVue の ref またはコンポーネントインスタンスから、基になる DOM 要素を取得しますAUTO
useCurrentElement現在のコンポーネントの DOM 要素を ref として取得しますAUTO
useMountedref 内のマウント状態AUTO
useTemplateRefsListv-for 内のテンプレート要素およびコンポーネントに refs をバインドするための省略形AUTO
useVirtualList簡単に仮想リストを作成しますAUTO
useVModelv-model バインディングの省略形AUTO
useVModelsprops の v-model バインディングの省略形AUTO
監視
関数説明呼び出し
until変更を一度だけ監視する PromiseAUTO
watchArray要素の追加と削除を配列で監視AUTO
watchAtMostトリガーされる回数を指定する watchAUTO
watchDebouncedデバウンス付きの監視AUTO
watchDeep{deep: true} を指定して値を監視するための省略形AUTO
watchIgnorable無視可能な監視AUTO
watchImmediate{immediate: true} を指定して値を監視するための省略形AUTO
watchOnce{ once: true } を指定して値を監視するための省略形AUTO
watchPausable一時停止可能な監視AUTO
watchThrottledスロットリング付きの監視AUTO
watchTriggerable手動でトリガーできる監視AUTO
watchWithFilter追加の EventFilter 制御を備えた watchAUTO
whenever値が truthy になるかを監視するための省略形AUTO
リアクティビティ
関数説明呼び出し
computedAsync非同期関数用の computedAUTO
computedEager遅延評価なしの eager computedAUTO
computedWithControlcomputed の依存関係を明示的に定義AUTO
createRefdeep パラメーターに応じて deepRef または shallowRef を返すAUTO
extendRefRef に属性を追加AUTO
reactify通常の関数をリアクティブ関数に変換AUTO
reactifyObjectオブジェクトに reactify を適用AUTO
reactiveComputedリアクティブな computed オブジェクトAUTO
reactiveOmitリアクティブオブジェクトからフィールドをリアクティブに除外AUTO
reactivePickリアクティブオブジェクトからフィールドをリアクティブに選択AUTO
refAutoReset一定時間後に既定値にリセットされる refAUTO
refDebouncedref の値の実行をデバウンスAUTO
refDefaultref に既定値を適用AUTO
refManualReset手動リセット機能を備えた ref を作成AUTO
refThrottledref の値の変更をスロットリングAUTO
refWithControlref とそのリアクティビティを細かく制御AUTO
syncRefref を双方向に同期AUTO
syncRefsソース ref とターゲット ref を同期した状態に保つAUTO
toReactiveref をリアクティブに変換AUTO
toRef値、ref、ゲッターを ref または computed に正規化EXPLICIT_ONLY
toRefsオブジェクトの ref も受け取れる拡張版の toRefsAUTO
配列
関数説明呼び出し
useArrayDifference2 つの配列の差分をリアクティブに取得しますAUTO
useArrayEveryリアクティブな Array.everyAUTO
useArrayFilterリアクティブな Array.filterAUTO
useArrayFindリアクティブな Array.findAUTO
useArrayFindIndexリアクティブな Array.findIndexAUTO
useArrayFindLastリアクティブな Array.findLastAUTO
useArrayIncludesリアクティブな Array.includesAUTO
useArrayJoinリアクティブな Array.joinAUTO
useArrayMapリアクティブな Array.mapAUTO
useArrayReduceリアクティブな Array.reduceAUTO
useArraySomeリアクティブな Array.someAUTO
useArrayUniqueリアクティブな重複のない配列AUTO
useSorted配列をリアクティブにソートしますAUTO
時刻
関数説明呼び出し
useCountdown秒単位のリアクティブなカウントダウンタイマーAUTO
useDateFormat渡されたトークン文字列に従って日付をフォーマットしますAUTO
useTimeAgoリアクティブな経過時間AUTO
useTimeAgoIntl国際化に対応したリアクティブな経過時間AUTO
ユーティリティ
関数説明呼び出し
createDisposableDirective破棄可能なディレクティブを作成するためのユーティリティAUTO
createEventHookイベントフックを作成するためのユーティリティAUTO
createUnrefFnref と生の値を引数として受け取る通常の関数を作成しますAUTO
getref.value にアクセスするための短縮形EXPLICIT_ONLY
isDefinedRef の nullish でないことをチェックする型ガードAUTO
makeDestructurableオブジェクトと配列の両方として分割代入できるようにしますAUTO
setref.value = x の短縮形EXPLICIT_ONLY
useAsyncQueue非同期タスクを順番に実行し、現在のタスクの結果を次のタスクに渡しますAUTO
useBase64リアクティブな Base64 変換AUTO
useCachedカスタム比較関数を使って ref をキャッシュしますAUTO
useClonedref のリアクティブなクローンAUTO
useConfirmDialogモーダルや確認ダイアログの連鎖をサポートするイベントフックを作成しますAUTO
useCounterユーティリティ関数を備えた基本的なカウンターAUTO
useCycleListリスト内の項目を順番に切り替えますAUTO
useDebounceFn関数の実行をデバウンスしますAUTO
useEventBus基本的なイベントバスAUTO
useMemoize引数に応じた関数の結果をキャッシュし、リアクティブな状態を保ちますAUTO
useOffsetPaginationリアクティブなオフセットページネーションAUTO
usePreviousref の前回の値を保持しますAUTO
useStepperマルチステップのウィザードインターフェースを構築するためのヘルパーを提供しますAUTO
useSupportedSSR に対応した isSupportedAUTO
useThrottleFn関数の実行をスロットリングしますAUTO
useTimeoutPollタイムアウトを使って対象をポーリングしますAUTO
useToggleユーティリティ関数を備えたブール値スイッチAUTO
useToNumber文字列 ref をリアクティブに数値へ変換しますAUTO
useToStringref をリアクティブに文字列へ変換しますAUTO
@Electron
関数説明呼び出し
useIpcRendereripcRenderer とそのすべての API を Vue のリアクティビティで利用できますEXTERNAL
useIpcRendererInvokeリアクティブな ipcRenderer.invoke API の結果EXTERNAL
useIpcRendererOnipcRenderer.on を簡単に使え、アンマウント時には ipcRenderer.removeListener が自動的に実行されますEXTERNAL
useZoomFactorリアクティブな WebFrame のズーム倍率EXTERNAL
useZoomLevelリアクティブな WebFrame のズームレベルEXTERNAL
@Firebase
関数説明呼び出し
useAuthリアクティブな Firebase Auth バインディングEXTERNAL
useFirestoreリアクティブな Firestore バインディングEXTERNAL
useRTDBリアクティブな Firebase Realtime Database バインディングEXTERNAL
@Head
関数説明呼び出し
createHeadhead マネージャーのインスタンスを作成します。EXTERNAL
useHeadhead のメタタグをリアクティブに更新します。EXTERNAL
@Integrations
関数説明呼び出し
useAsyncValidatorasync-validator のラッパーEXTERNAL
useAxiosaxios のラッパーEXTERNAL
useChangeCasechange-case のリアクティブなラッパーEXTERNAL
useCookiesuniversal-cookie のラッパーEXTERNAL
useDrauudrauu のリアクティブなインスタンスEXTERNAL
useFocusTrapfocus-trap のリアクティブなラッパーEXTERNAL
useFuseFuse.js を使ったコンポーザブルで、あいまい検索を簡単に実装しますEXTERNAL
useIDBKeyvalidb-keyval のラッパーEXTERNAL
useJwtjwt-decode のラッパーEXTERNAL
useNProgressnprogress のリアクティブなラッパーEXTERNAL
useQRCodeqrcode のラッパーEXTERNAL
useSortablesortable のラッパーEXTERNAL
@Math
関数説明呼び出し
createGenericProjectioncreateProjection の汎用版EXTERNAL
createProjectionある領域から別の領域へのリアクティブな数値射影EXTERNAL
logicAndrefs の AND 条件EXTERNAL
logicNotref の NOT 条件EXTERNAL
logicOrrefs の OR 条件EXTERNAL
useAbsリアクティブな Math.absEXTERNAL
useAverage配列の平均値をリアクティブに取得EXTERNAL
useCeilリアクティブな Math.ceilEXTERNAL
useClamp値をほかの2つの値の間にリアクティブに収めるEXTERNAL
useFloorリアクティブな Math.floorEXTERNAL
useMathリアクティブな Math メソッドEXTERNAL
useMaxリアクティブな Math.maxEXTERNAL
useMinリアクティブな Math.minEXTERNAL
usePrecision数値の精度をリアクティブに設定EXTERNAL
useProjectionある領域から別の領域へのリアクティブな数値射影EXTERNAL
useRoundリアクティブな Math.roundEXTERNAL
useSum配列の合計値をリアクティブに取得EXTERNAL
useTruncリアクティブな Math.truncEXTERNAL
@Motion
関数説明呼び出し
useElementStyleリアクティブなオブジェクトを対象要素の CSS スタイルに同期EXTERNAL
useElementTransformリアクティブなオブジェクトを対象要素の CSS transform に同期します。EXTERNAL
useMotionコンポーネントに動きを加えます。EXTERNAL
useMotionProperties対象要素の Motion Properties にアクセスします。EXTERNAL
useMotionVariantsVariants の状態と選択を処理します。EXTERNAL
useSpringスプリングアニメーション。EXTERNAL
@Router
関数説明呼び出し
useRouteHashリアクティブな route.hash の簡易表記EXTERNAL
useRouteParamsリアクティブな route.params の簡易表記EXTERNAL
useRouteQueryリアクティブな route.query の簡易表記EXTERNAL
@RxJS
関数説明呼び出し
fromRxJS の from() と fromEvent() をラップし、ref を受け取れるようにしますEXTERNAL
toObserverref を RxJS の Observer に変換する便利関数ですEXTERNAL
useExtractedObservable1 つ以上のコンポーザブルから抽出した RxJS の Observable を使用しますEXTERNAL
useObservableRxJS の Observable を使用しますEXTERNAL
useSubjectRxJS の Subject を ref にバインドし、値の変更を双方向に伝播させますEXTERNAL
useSubscription購読解除やメモリーリークの心配をせずに、RxJS の Subscription を使用しますEXTERNAL
watchExtractedObservable1 つ以上のコンポーザブルから抽出した RxJS の Observable の値を監視しますEXTERNAL
@SchemaOrg
関数説明呼び出し
createSchemaOrgschema.org マネージャーのインスタンスを作成します。EXTERNAL
useSchemaOrgschema.org をリアクティブに更新します。EXTERNAL
@Sound
関数説明呼び出し
useSound効果音をリアクティブに再生します。EXTERNAL

コメント