mcpField
R
react-use

react-use

github.com/hairyf開発26845 回インストール2 週間前に更新
リポジトリ

react-use について

一般的なアプリケーションのパターンに使う React Hooks 集、react-use を扱うスキルです。ブラウザーセンサー、UI 操作、アニメーション、副作用、ライフサイクル、状態管理を参照できます。

主な機能

  1. 01ブラウザーとデバイスのセンサーフック
  2. 02UI 操作用フック
  3. 03アニメーションとタイマー用フック
  4. 04副作用とライフサイクル用フック
  5. 05状態管理ユーティリティ

活用シーン

  1. 01コンポーネントでブラウザーやデバイスの状態を追跡
  2. 02再利用可能な UI 動作やアニメーションの追加
  3. 03非同期の副作用と共有状態の管理

インストール

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

$npx skills add https://github.com/hairyf/skills --skill react-use

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

同梱ファイル

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

GENERATION.md
references/
animations-harmonic-interval.md
animations-interval.md
animations-raf.md
animations-spring.md
animations-timeout-fn.md
animations-timeout.md
animations-tween.md
animations-update.md
core-usage.md
lifecycles-custom-compare-effect.md
lifecycles-deep-compare-effect.md
lifecycles-effect-once.md
lifecycles-event.md
lifecycles-isomorphic-layout-effect.md
lifecycles-lifecycles.md
lifecycles-logger.md
lifecycles-mount.md
lifecycles-mounted-state.md
lifecycles-promise.md
lifecycles-shallow-compare-effect.md
lifecycles-unmount-promise.md
lifecycles-unmount.md
lifecycles-update-effect.md
misc-ensured-forwarded-ref.md
sensors-battery.md
sensors-breakpoint.md
sensors-geolocation.md
sensors-hash.md
sensors-hover.md

詳細

react-use

このスキルは react-use v17.6.0 を基にしており、2026-01-29 に生成されました。

react-use は、React アプリケーションでよく使われるパターンにすぐ使える機能を提供する、必須の React Hooks コレクションです。センサー、UI インタラクション、アニメーション、副作用、ライフサイクル管理、状態管理のためのフックが含まれています。

コアリファレンス

トピック説明リファレンス
使用方法インポートパターンとツリーシェイキングの推奨事項core-usage

センサー

センサーフックは、ブラウザー API やデバイスインターフェースの変更を監視し、コンポーネントを最新の状態で再レンダリングします。

トピック説明リファレンス
useBatteryデバイスのバッテリー状態を追跡しますsensors-battery
useGeolocationユーザーのデバイスの位置情報の状態を追跡しますsensors-geolocation
useHover要素のマウスホバー状態を追跡しますsensors-hover
useHashロケーションのハッシュ値を追跡しますsensors-hash
useIdleユーザーが非アクティブかどうかを追跡しますsensors-idle
useIntersectionHTML 要素の交差状態を追跡しますsensors-intersection
useKeyキーの押下を追跡しますsensors-key
useKeyPressキーの押下状態を追跡しますsensors-key-press
useKeyPressEventキー押下イベントを処理しますsensors-key-press-event
useKeyboardJsキーボードのキーの組み合わせを追跡しますsensors-keyboard-js
useLocationページのナビゲーションバーのロケーション状態を追跡しますsensors-location
useSearchParamURL の検索パラメーターを追跡しますsensors-search-param
useLongPress長押しジェスチャーを追跡しますsensors-long-press
useMediaCSS メディアクエリの状態を追跡しますsensors-media
useMediaDevices接続されているハードウェアデバイスの状態を追跡しますsensors-media-devices
useMotionデバイスのモーションセンサーの状態を追跡しますsensors-motion
useMouseマウスの位置の状態を追跡しますsensors-mouse
useMouseWheelスクロールしたマウスホイールの deltaY を追跡しますsensors-mouse-wheel
useNetworkStateブラウザーのネットワーク接続状態を追跡しますsensors-network-state
useOrientationデバイスの画面の向きを追跡しますsensors-orientation
usePageLeaveマウスがページの境界から出たときにトリガーしますsensors-page-leave
useScratchマウスのクリックとドラッグの状態を追跡しますsensors-scratch
useScrollHTML 要素のスクロール位置を追跡しますsensors-scroll
useScrollingHTML 要素がスクロール中かどうかを追跡しますsensors-scrolling
useStartTypingユーザーが入力を開始したことを検出しますsensors-start-typing
useWindowScrollWindow のスクロール位置を追跡しますsensors-window-scroll
useWindowSizeWindow の寸法を追跡しますsensors-window-size
useMeasureHTML 要素の寸法を追跡しますsensors-measure
useSize要素のサイズを追跡しますsensors-size
createBreakpointブレークポイントを使用して innerWidth を追跡しますsensors-breakpoint
useScrollbarWidthブラウザー標準のスクロールバーの幅を検出しますsensors-scrollbar-width
usePinchZoomポインターイベントを追跡してピンチズームを検出しますsensors-pinch-zoom

UI

UI フックを使用すると、UI 要素の状態変化を制御し、購読できます。

トピック説明リファレンス
useAudioオーディオを再生し、その操作機能を公開しますui-audio
useClickAwayユーザーが対象領域の外側をクリックしたときにコールバックを実行しますui-click-away
useCssCSS を動的に調整しますui-css
useDropファイル、リンク、コピー&ペーストのドロップを追跡しますui-drop
useFullscreen要素または動画を全画面表示しますui-fullscreen
useSlider任意の HTML 要素にスライド動作を提供しますui-slider
useSpeechテキスト文字列から音声を合成しますui-speech
useVibrateVibration API を使用して物理的なフィードバックを提供しますui-vibrate
useVideo動画を再生し、その状態を追跡して、再生操作機能を公開しますui-video

アニメーション

アニメーションフックは通常、数値を時間の経過に応じて補間します。

トピック説明リファレンス
useRafrequestAnimationFrame ごとにコンポーネントを再レンダリングしますanimations-raf
useInterval指定した間隔でコンポーネントを再レンダリングしますanimations-interval
useHarmonicIntervalFn調和間隔関数ですanimations-harmonic-interval
useSpringスプリングダイナミクスに従って数値を時間の経過とともに補間しますanimations-spring
useTimeoutタイムアウト後にコンポーネントを再レンダリングしますanimations-timeout
useTimeoutFnタイムアウト後に指定された関数を呼び出しますanimations-timeout-fn
useTween数値を 0 から 1 へトゥイーンする間、コンポーネントを再レンダリングしますanimations-tween
useUpdate呼び出すとコンポーネントを再レンダリングするコールバックを返しますanimations-update

副作用

副作用フックを使うと、ブラウザーの API を利用してアプリでさまざまな副作用を発生させることができます。

トピック説明リファレンス
useAsync非同期関数の結果を取得しますside-effects-async
useAsyncFn手動で実行する非同期関数ですside-effects-async-fn
useAsyncRetry再試行機能を備えた非同期関数ですside-effects-async-retry
useBeforeUnloadユーザーがページを再読み込みまたは閉じようとすると、ブラウザーの警告を表示しますside-effects-before-unload
useCookieCookie の読み取り、更新、削除を行いますside-effects-cookie
useCopyToClipboardテキストをクリップボードにコピーしますside-effects-copy-to-clipboard
useDebounce関数をデバウンスしますside-effects-debounce
useErrorエラーをディスパッチしますside-effects-error
useFaviconページのファビコンを設定しますside-effects-favicon
useLocalStoragelocalStorage の値を管理しますside-effects-local-storage
useSessionStoragesessionStorage の値を管理しますside-effects-session-storage
useLockBodyScrollbody 要素のスクロールをロックしますside-effects-lock-body-scroll
useRafLoopRAF ループ内で指定された関数を呼び出しますside-effects-raf-loop
useThrottle関数をスロットルしますside-effects-throttle
useThrottleFn関数をスロットルするバリエーションですside-effects-throttle-fn
useTitleページのタイトルを設定しますside-effects-title
usePermissionブラウザー API の権限ステータスを問い合わせますside-effects-permission

ライフサイクル

ライフサイクルフックは、組み込みの React フックを変更・拡張したり、React クラスコンポーネントのライフサイクルパターンを模倣したりします。

トピック説明参照
useEffectOnce一度だけ実行されるよう変更された useEffectlifecycles-effect-once
useEventイベントを購読しますlifecycles-event
useLifecyclesマウント時とアンマウント時のコールバックを呼び出しますlifecycles-lifecycles
useMountedStateコンポーネントがマウントされているかを追跡しますlifecycles-mounted-state
useUnmountPromisePromise のサポート付きで、コンポーネントがマウントされているかを追跡しますlifecycles-unmount-promise
usePromiseコンポーネントがマウントされている間だけ Promise を解決しますlifecycles-promise
useLoggerコンポーネントのライフサイクルに応じてコンソールにログを出力しますlifecycles-logger
useMountマウント時のコールバックを呼び出しますlifecycles-mount
useUnmountアンマウント時のコールバックを呼び出しますlifecycles-unmount
useUpdateEffect更新時のみエフェクトを実行しますlifecycles-update-effect
useIsomorphicLayoutEffectサーバー上でも動作する useLayoutEffectlifecycles-isomorphic-layout-effect
useDeepCompareEffectディープ比較を行う useEffectlifecycles-deep-compare-effect
useShallowCompareEffectシャロー比較を行う useEffectlifecycles-shallow-compare-effect
useCustomCompareEffectカスタム比較関数を使う useEffectlifecycles-custom-compare-effect

状態

状態フックを使うと、ブール値、配列、マップの状態を簡単に管理できます。

トピック説明リファレンス
createMemoメモ化されたフックのファクトリーstate-create-memo
createReducerカスタムミドルウェアに対応したリデューサーフックのファクトリーstate-create-reducer
createReducerContextコンポーネント間で状態を共有するフックのファクトリーstate-create-reducer-context
createStateContextコンポーネント間で状態を共有するフックのファクトリーstate-create-state-context
createGlobalStateコンポーネント間で共有する状態state-create-global-state
useDefault状態が null または undefined の場合にデフォルト値を返しますstate-default
useGetSet生の状態の代わりに、状態を取得する get() を返しますstate-get-set
useGetSetStateuseGetSet と useSetState の組み合わせstate-get-set-state
useLatest最新の状態または props を返しますstate-latest
usePrevious前の状態または props を返しますstate-previous
usePreviousDistinctusePrevious と同様ですが、述語を指定できますstate-previous-distinct
useObservableObservable の最新の値を追跡しますstate-observable
useRafStaterequestAnimationFrame の後にのみ更新する setState メソッドを作成しますstate-raf-state
useSetStatethis.setState のように動作する setState メソッドを作成しますstate-set-state
useToggleブール値の状態を追跡しますstate-toggle
useCounter数値の状態を追跡しますstate-counter
useList配列の状態を追跡しますstate-list
useMapオブジェクトの状態を追跡しますstate-map
useSetSet の状態を追跡しますstate-set
useQueueシンプルなキューを実装しますstate-queue
useStateList配列を循環的に反復しますstate-state-list
useStateValidatorバリデーター関数で状態を検証しますstate-state-validator
useStateWithHistory以前の状態の値を保存し、それらを移動するためのハンドルを提供しますstate-state-with-history
useMultiStateValidatoruseStateValidator と同様ですが、複数の状態を追跡しますstate-multi-state-validator
useMediatedState通常の useState と同様ですが、カスタム関数による仲介を行いますstate-mediated-state
useFirstMountState現在のレンダーが初回かどうかを確認しますstate-first-mount-state
useRendersCountコンポーネントのレンダー回数を数えますstate-renders-count
useMethodsuseReducer に代わる便利な方法state-methods

その他

トピック説明リファレンス
useEnsuredForwardedRefReact.forwardedRef を安全に使用しますmisc-ensured-forwarded-ref

コメント