mcpField
R
react-hooks-best-practices

react-hooks-best-practices

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

react-hooks-best-practices について

react-hooks-best-practices は、React コンポーネントやカスタムフックを作成、リファクタリング、レビューする開発者向けの実践ルール集です。DX、最適化、ロジックの観点で整理され、現時点では複雑な処理の切り出しと watch モードを扱います。

主な機能

  1. 01DX、最適化、ロジック別のルール
  2. 02複雑な機能処理をカスタムフックに分離
  3. 03watch モードを使う場面の指針
  4. 04ルール解説と比較用コード例

活用シーン

  1. 01複雑な処理を含む React コンポーネントのリファクタリング
  2. 02合成可能なカスタムフック API の設計
  3. 03フックのリアクティブな更新方式のレビュー
  4. 04高頻度更新による不要な再レンダリングの回避

インストール

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

$npx skills add https://github.com/siberiacancode/agent-skills --skill react-hooks-best-practices

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

同梱ファイル

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

AGENTS.md
metadata.json
README.md
rules/
_sections.md
_template.md
dx-extract-complex-hook.md
optimization-watch-mode.md

詳細

React Hooks のベストプラクティス

React アプリケーションでフックを使用し、DX、最適化、ロジックの3つの観点からカスタムフックを設計するための実践的なルールです。

適用する場面

次のような場合は、これらのガイドラインを参照してください。

  • フックを使用する React コンポーネントを作成するとき
  • カスタムフックを作成またはリファクタリングするとき
  • 使いやすく、組み合わせやすいフック API を設計するとき
  • 依存関係、エフェクト、ref、状態、コールバック、メモ化をレビューするとき
  • 不要な再レンダーが発生しないか、フック API をレビューするとき
  • 古いクロージャー、クリーンアップ、SSR、ライフサイクルの正確性について、フックの内部実装をレビューするとき
  • 高頻度の更新をサブスクライブするカスタムフックを設計するとき
  • snapshot、コールバック、watch() API を公開するフックを使用するとき
  • ブラウザーイベントのたびに React の状態を更新するフックをリファクタリングするとき
  • DOM に関連する処理を React のレンダー状態から切り離すとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1DXHIGHdx-
2最適化HIGHoptimization-
3ロジックHIGHlogic-

クイックリファレンス

1. DX (HIGH)
  • dx-extract-complex-hook - 複雑な機能ロジックをカスタムフックに移し、form、state、functions、refs、features などにまとめた戻り値の契約を使用します
2. 最適化 (HIGH)
  • optimization-watch-mode - UI がリアクティブなレンダーデータを必要とする場合にのみ watch() を使用し、それ以外のホットな更新はスナップショットとコールバックに保持します
3. ロジック (HIGH)

ルールは近日公開予定です。

使用方法

詳しい説明と例については、各ルールファイルをお読みください。

rules/dx-extract-complex-hook.md
rules/optimization-watch-mode.md

各ルールファイルには、次の内容が含まれています。

  • そのパターンが解決する問題
  • 誤ったコード例と正しいコード例
  • フックの作成者と利用者向けのガイダンス
  • 関連する場合は、資料への参照

完全版ドキュメント

コンパイル済みの概要については、AGENTS.md を参照してください。

コメント