mcpField
R
reactuse

reactuse

github.com/siberiacancode開発23174 回インストール4 週間前に更新
リポジトリ

reactuse について

reactuse は、React.js と Next.js の開発で reactuse ライブラリを使うための選定・実装ガイドです。要件に合うフックや呼び出しルール、詳細資料を示し、独自実装よりライブラリのフックを優先します。

主な機能

  1. 01要件に合うフックの選定
  2. 02フックごとの呼び出しルール
  3. 03機能別のフック分類
  4. 04詳細リファレンスへの案内
  5. 05ライブラリのフックを優先

活用シーン

  1. 01React の機能に合うフックの選択
  2. 02コンポーネントでのブラウザー操作の実装
  3. 03非同期読み込みや更新の処理
  4. 04フックに外部依存が必要かの確認

インストール

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

$npx skills add https://github.com/siberiacancode/agent-skills --skill reactuse

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

同梱ファイル

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

AGENTS.md
metadata.json
README.md
rules/
_sections.md
_template.md
cn.md
createContext.md
createContextHook.md
createEventEmitter.md
createReactiveContext.md
createSharedHook.md
createStore.md
makeDestructurable.md
target.md
useActiveElement.md
useAsync.md
useAsyncEffect.md
useAudio.md
useAutoScroll.md
useBatchedCallback.md
useBattery.md
useBluetooth.md
useBoolean.md
useBreakpoints.md
useBroadcastChannel.md
useBrowserLanguage.md
useBrowserLocation.md
useClickOutside.md
useClipboard.md
useConst.md

詳細

Reactuse

このスキルは、react.js / next.js プロジェクト向けの reactuse ライブラリに関する、判断と実装のガイドです。要件に最適な reactuse フックを対応付け、適切な使用パターンを適用し、実装を簡潔で保守しやすく、高速に保つため、独自コードよりフックベースのソリューションを優先します。

適用するタイミング

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

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

フック

以下に記載するすべてのフックは、reactuse ライブラリの一部です。各セクションでは、フックを機能別に分類しています。

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

上流でブロックされているカテゴリ:Reactuse は最近のリリースで Humor フック(useFul、useLess、useOnce)もエクスポートしています。このスキルでは、上流でジョークまたは本番環境向けではないユーティリティとされているため、意図的にサポートも推奨もしていません。

ヘルパー
HookDescriptionInvocation
cnReact の className 用に、条件付きのクラス名を正規化します。HIGH
createContextプロバイダーとセレクターフックを備えた、型付きコンテキストを作成します。HIGH
createContextHook1 つのフックの結果を React サブツリー内にスコープします。LOW
createEventEmitterサブスクリプションフックを備えた、型安全なイベントエミッターを作成します。LOW
createReactiveContext更新が最適化された、型付きコンテキストセレクターを作成します。LOW
createSharedHook複数のコンシューマー間でフックのインスタンスを共有します。LOW
createStore状態、サブスクリプション、フックを備えた外部ストアを作成します。MEDIUM
makeDestructurable1 つの値をオブジェクト形式とタプル形式のどちらでも利用できるようにします。LOW
targetDOM ターゲットを Reactuse フックが想定する形式でラップします。MEDIUM
Elements
HookDescriptionInvocation
useActiveElement現在フォーカスされている要素を追跡します。LOW
useAutoScrollコンテナーを自動的に最下部までスクロールします。LOW
useClickOutside対象要素の外側をクリックしたときにコールバックを呼び出します。HIGH
useContextMenu右クリックや長押しのジェスチャーをメニューの状態に変換します。LOW
useDoubleClickオプションのシングルクリックハンドラーとともにダブルクリックを検出します。MEDIUM
useDraggableポインターの移動をドラッグ位置の状態に変換します。LOW
useDropZoneファイルの状態を持つドラッグ&ドロップ領域を作成します。MEDIUM
useFileDialogファイル選択ダイアログを開き、選択されたファイルを返します。LOW
useFocusフォーカス状態を追跡し、フォーカス/ブラーを制御します。MEDIUM
useFocusTrap指定された要素内にフォーカスを閉じ込めます。MEDIUM
useHover要素のホバー状態を追跡します。MEDIUM
useImageブラウザーで画像を読み込み、画像固有の読み込み状態を返します。LOW
useLockScroll要素またはドキュメント本文のスクロールをロックします。MEDIUM
useLongPress長押し操作を検出します。MEDIUM
usePaintキャンバスに描画し、描画制御機能を提供します。LOW
useScriptスクリプトを読み込み、その状態を返します。LOW
useSize要素の幅と高さを監視します。LOW
useStickyスティッキー要素が固定されているかを検出します。LOW
useTextareaAutosize内容に応じてテキストエリアのサイズを自動調整します。MEDIUM
useTextDirection要素のテキスト方向を取得および設定します。MEDIUM
useWindowFocusウィンドウの現在のフォーカス状態を返します。LOW
useWindowSizeウィンドウの現在の幅と高さを返します。LOW
Async
HookDescriptionInvocation
useAsyncPromise を返すコールバックの読み込み、エラー、データの状態を追跡します。MEDIUM
useLockCallbackコールバックが同時に複数回実行されるのを防ぎます。MEDIUM
useMutation読み込み、エラー、成功の状態を持つミューテーションロジックを定義します。HIGH
useOptimistic非同期更新が完了する前に、楽観的な値を表示できます。MEDIUM
useQuery中断可能な非同期読み取りを、クエリの状態と更新制御でラップします。HIGH
ライフサイクル
Hook説明呼び出し頻度
useAsyncEffect非同期の副作用を実行します。MEDIUM
useDidUpdate更新時のみ(初回のマウント時を除く)エフェクトを実行します。HIGH
useIsFirstRender初回のレンダー時のみ true を返します。LOW
useIsomorphicLayoutEffectクライアントでは useLayoutEffect、サーバーでは useEffect を使用します。HIGH
useMountコンポーネントのマウント時にコールバックを一度実行します。HIGH
useShallowEffect依存関係が浅く、または深く変化した場合にのみエフェクトを実行します。LOW
useUnmountコンポーネントのアンマウント時にコールバックを実行します。HIGH
ブラウザー
Hook説明呼び出し
useAudioオーディオの再生(再生/一時停止/停止)、音量、再生速度、スプライトセグメントを管理します。LOW
useBatteryバッテリーの状態とサポート状況を返します。LOW
useBluetoothBluetooth デバイスを要求し、接続します。LOW
useBreakpointsレスポンシブブレークポイントとヘルパー述語を管理します。MEDIUM
useBroadcastChannelタブ間/ウィンドウ間のメッセージングを可能にします。LOW
useBrowserLocationリアクティブな位置情報の状態と、履歴を移動するためのコントロールを返します。MEDIUM
useClipboardクリップボードからテキストを読み取り、コピーします。MEDIUM
useCopyテキストをコピーし、遅延後にステータスをリセットします。MEDIUM
useCssVarCSS カスタムプロパティを読み書きします。LOW
useDeviceList選択 UI 向けに、利用可能なメディア入力デバイスと出力デバイスをグループ化します。MEDIUM
useDisplayMediaビデオ要素を画面キャプチャストリームに接続します。LOW
useDocumentEventドキュメントにイベントリスナーをアタッチします。LOW
useDocumentTitleドキュメントのタイトルを読み取り、更新します。LOW
useDocumentVisibilityドキュメントの表示状態を返します。LOW
useEventListener対象にイベントリスナーをアタッチします。HIGH
useEventSourceEventSource のリアクティブラッパーを提供します。LOW
useEyeDropperEyeDropper API へのアクセスを提供します。LOW
useFavicon現在のファビコンを読み取り、更新します。LOW
useFileSystemAccessFile System Access API を介してローカルファイルを読み書きします。LOW
useFps1 秒あたりのフレーム数を測定します。LOW
useFullscreen要素の全画面表示状態を制御します。LOW
useGamepad接続されたゲームパッドとアクティブ状態を返します。LOW
useGeolocation最新のブラウザー位置情報を React の状態に保持します。MEDIUM
useMeasure要素のサイズと位置を測定します。LOW
useMediaControlsオーディオ/ビデオ要素のコントロールと状態を提供します。LOW
useMediaStreamカメラまたはマイクのキャプチャをメディア要素に接続します。MEDIUM
useMediaQueryメディアクエリに一致するかどうかを返します。MEDIUM
useMemory現在の JS ヒープメモリ使用量を返します。LOW
useNetworkオンライン状態と接続情報を追跡します。LOW
useNotification通知の許可状態と最新の通知を管理します。MEDIUM
useOnlineユーザーがオンラインかどうかを返します。MEDIUM
useObjectUrlオブジェクト URL を作成および取り消しますLOW
useOtpCredentialユーザーエージェントから OTP 認証情報を要求します。LOW
usePermissionブラウザーの権限クエリ状態を追跡します。MEDIUM
usePictureInPictureビデオ要素のピクチャーインピクチャーモードを制御します。LOW
usePointerLockリアクティブなポインターロックコントロールを提供します。LOW
usePostMessageウィンドウ/フレーム間でメッセージを受信および送信します。LOW
useRaf各アニメーションフレームでコールバックを実行します。LOW
useShareネイティブの共有ダイアログを起動します。MEDIUM
useSpeechRecognitionブラウザーの音声認識を文字起こし状態に変換します。LOW
useSpeechSynthesisテキストを音声出力に変換し、再生状態を管理します。LOW
useVibrateオプションの間隔を指定して振動を起動します。LOW
useVirtualKeyboard仮想キーボードの状態を追跡し、コントロールを提供します。LOW
useWakeLockWake Lock API の状態を制御します。LOW
useWebSocketコンポーネントを WebSocket エンドポイントに接続した状態に保ちます。MEDIUM
useWebWorkerWeb Worker を React のデータおよびライフサイクル状態に接続します。LOW
useWebWorkerCallback自己完結型の関数をメインスレッド外で実行します。LOW
ユーティリティ
フック説明呼び出し
useBatchedCallback呼び出しをまとめて、コールバックに渡します。MEDIUM
useConst一度だけ初期化される定数値を返します。HIGH
useDebounceCallbackキャンセルメソッドを備えたデバウンス処理済みコールバックを作成します。HIGH
useDebounceEffect依存関係が変化したとき、遅延後にエフェクトを実行します。HIGH
useDebounceStateデバウンス処理済みの状態セッターを作成します。HIGH
useDebounceValue値のデバウンス処理済みバージョンを返します。HIGH
useDevicePixelRatio現在のデバイスのピクセル比を返します。LOW
useEvent常に最新のハンドラーを呼び出す、安定したコールバック参照を返します。HIGH
useLastChanged最後に変更された時刻を記録します。LOW
useLatest常に最新の値を指す、安定した ref を返します。MEDIUM
usePrevious前の値を返します。LOW
useThrottleCallbackキャンセルメソッドを備えたスロットル処理済みコールバックを作成します。MEDIUM
useThrottleEffect依存関係が変化したとき、遅延期間ごとに最大1回エフェクトを実行します。MEDIUM
useThrottleStateスロットル処理済みの状態セッターを作成します。MEDIUM
useThrottleValue値のスロットル処理済みバージョンを返します。MEDIUM
状態
Hook説明呼び出し頻度
useBoolean切り替え用ヘルパーを使ってブール値の状態を管理します。HIGH
useControllableState制御状態と非制御状態のパターンに対応します。MEDIUM
useCookieCookie の値を読み取り、書き込みます。MEDIUM
useCookiesすべての Cookie を単一のオブジェクトとして管理します。MEDIUM
useCounter上限と下限を設定して数値カウンターを管理します。LOW
useCycleList順序付きの選択肢を、現在の値と移動用ヘルパーの組み合わせとしてモデル化します。MEDIUM
useDefault値が null または undefined の場合に、指定されたデフォルト値を返します。MEDIUM
useDisclosure開閉状態をヘルパーとともに管理します。HIGH
useField1 つの非制御フィールドをバリデーションおよびヘルパー状態に接続します。MEDIUM
useForm型付けされた非制御フォームの値とバリデーションを調整します。MEDIUM
useHashURL のハッシュ値を管理します。LOW
useListヘルパーメソッドを使って配列を管理します。MEDIUM
useLocalStoragelocalStorage の値を管理します。HIGH
useMapヘルパーメソッドを使って Map を管理します。HIGH
useMaskマスク済みの値、未加工の値、表示値、カーソル状態を同期させます。MEDIUM
useMergedRef複数の ref を単一の ref コールバックに統合します。MEDIUM
useObject更新やキー操作用のヘルパーメソッドを使ってオブジェクトの状態を管理します。MEDIUM
useOffsetPaginationオフセットベースのリストのページネーション状態を管理します。MEDIUM
useQueue追加・削除用のヘルパーを使ってキューを管理します。MEDIUM
useRafStaterequestAnimationFrame 内で状態を更新します。LOW
useRefState代入時に更新される ref のような状態を作成します。LOW
useSessionStoragesessionStorage の値を管理します。MEDIUM
useSetヘルパーメソッドを使って Set を管理します。MEDIUM
useStateHistory元に戻す/やり直しの履歴とともに状態を保持します。MEDIUM
useStep次へ/戻るためのヘルパーを備えたステッパーを作成します。MEDIUM
useStorageWeb Storage の値を管理します。HIGH
useToggleユーティリティ関数を備えたブール値の切り替え機能です。HIGH
useUrlSearchParam単一の URL 検索パラメーターを状態と同期します。HIGH
useUrlSearchParams複数の URL 検索パラメーターを状態と同期します。HIGH
useValidatedState有効性と最後に有効だった値を、値とともに保持します。MEDIUM
useWizardウィザードのステップと履歴を管理します。MEDIUM
ユーザー
Hook説明呼び出し頻度
useBrowserLanguage現在のブラウザー言語を返します。MEDIUM
useOperatingSystemユーザーエージェントに基づいて、ユーザーのオペレーティングシステムを返します。LOW
usePreferredColorSchemeユーザーが希望するカラースキームを返します。MEDIUM
usePreferredContrastユーザーのコントラスト設定を返します。MEDIUM
usePreferredDarkユーザーがダークモードを希望しているかどうかを返します。MEDIUM
usePreferredLanguagesユーザーが希望する言語を返します。MEDIUM
usePreferredReducedMotion動きを抑える設定を返します。LOW
センサー
Hook説明呼び出し頻度
useDeviceMotionsnapshot と watch() を介してデバイスの動きのデータを提供します。LOW
useDeviceOrientation現在のデバイスの向きを提供します。LOW
useHotkeysキーボードショートカットの適用範囲を、対象または返される ref に設定します。MEDIUM
useIdleユーザーがアイドル状態かどうかと、最後にアクティブだった時刻を追跡します。LOW
useInfiniteScrollスクロール領域の端に近づくと、条件付きで読み込みを開始します。MEDIUM
useIntersectionObserver要素の交差状態を追跡します。MEDIUM
useKeyboard対象に keydown/keyup リスナーを登録します。MEDIUM
useKeyPress特定のキーが押されているかどうかを追跡します。MEDIUM
useKeysPressed現在押されているすべてのキーを追跡します。LOW
useMouseページおよび要素を基準としたマウス座標を追跡します。LOW
useMutationObserver要素の DOM の変更を監視します。LOW
useOrientation現在の画面の向きとロック制御を返します。LOW
usePageLeaveマウスがページから離れたことを検出します。LOW
useParallaxマウスまたはデバイスの向きに基づいて、視差効果を作成します。LOW
usePerformanceObserverパフォーマンスエントリーを監視します。LOW
useResizeObserver要素のサイズ変更を監視します。LOW
useScrollスクロール状態を追跡し、スクロール用ヘルパーを提供します。LOW
useScrollIntoView要素が表示領域に入るようスクロールし、トリガーを公開します。LOW
useScrollToトリガーを使って特定の位置までスクロールします。LOW
useSwipeタッチやポインターの動きをスワイプ状態に変換します。LOW
useTextSelectionテキスト選択の詳細を追跡します。LOW
useVisibility要素がビューポート内に表示されているかどうかを追跡します。MEDIUM
useWindowEventwindow オブジェクトにイベントリスナーを設定します。LOW
useWindowScrollwindow のスクロール位置を追跡し、scrollTo を公開します。LOW
時間
フック説明呼び出し
useInterval一時停止・再開を制御できるインターバルを作成します。HIGH
useProgress自動的に進行する制御機能付きの進捗状態を作成します。MEDIUM
useStopwatch開始・一時停止・リセットを制御できるストップウォッチを作成します。HIGH
useTime現在時刻を複数のフィールドに分けて提供します。MEDIUM
useTimeout遅延後にコールバックを実行し、ready フラグを返します。MEDIUM
useTimer制御機能とコールバックを備えたカウントダウンタイマーを作成します。MEDIUM
デバッグ
フック説明呼び出し
useLoggerコンポーネントのマウント、更新、アンマウントを記録します。LOW
useRenderCountコンポーネントがレンダリングされた回数を返します。LOW
useRenderInfo任意のログ出力とともに、レンダリング回数とタイミング情報を提供します。LOW
useRerender必要に応じてコンポーネントを強制的に再レンダリングします。MEDIUM

コメント