mcpField
R
react-refactor

react-refactor

github.com/pproenca開発218784 回インストール11 週間前に更新
リポジトリ

react-refactor について

React アプリの保守や再構成に取り組むチーム向けの、ルールベースのアーキテクチャリファクタリングガイドです。コンポーネントと状態設計、フック、データ処理、安全なリファクタリングを優先度別に扱います。

主な機能

  1. 017カテゴリにわたる優先度付き40ルール
  2. 02コンポーネントの合成と分割パターン
  3. 03状態、フック、結合度に関する指針
  4. 04テストとリファクタリングの安全策

活用シーン

  1. 01React のプルリクエストで設計上の問題を確認
  2. 02大きなコンポーネントを役割別に分割
  3. 03再利用可能なフックを抽出してテスト性を改善
  4. 04機能モジュールを再構成して結合を抑制

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill react-refactor

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

同梱ファイル

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

AGENTS.md
metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
arch-composition-over-props.md
arch-compound-components.md
arch-container-presentational.md
arch-feature-colocation.md
arch-headless-pattern.md
arch-interface-segregation.md
arch-push-client-low.md
arch-render-props-to-hooks.md
couple-barrel-free-features.md
couple-break-circular-deps.md
couple-dependency-injection.md
couple-stable-imports.md
data-context-module-pattern.md
data-granular-error-boundaries.md
data-server-first-fetch.md
data-tanstack-query-client.md
decomp-complete-extraction.md
decomp-extract-by-change-reason.md
decomp-extract-pure-functions.md
decomp-inline-premature.md
decomp-scroll-test.md
decomp-separate-view-logic.md
hook-avoid-object-deps.md
hook-composition-over-nesting.md
hook-dependency-stability.md

詳細

React のリファクタリングのベストプラクティス

React アプリケーションのアーキテクチャをリファクタリングするためのガイドです。7 つのカテゴリにわたる 40 のルールを収録し、影響度の高いもの(コンポーネントと状態のアーキテクチャ)から段階的に適用するもの(リファクタリングの安全性)まで、優先度順に並べています。

適用するタイミング

  • 既存の React コードベースをリファクタリングするときや、大規模な再構成を計画するとき
  • PR をレビューし、アーキテクチャ上の問題やコードのにおいを確認するとき
  • 巨大なコンポーネントを、役割を絞った単位に分割するとき
  • コンポーネントのロジックから再利用可能なフックを抽出するとき
  • React コードのテスト容易性を高めるとき
  • 機能モジュール間の結合を減らすとき

ルールのカテゴリ

カテゴリ影響度ルール数主なトピック
コンポーネントアーキテクチャCRITICAL8複合コンポーネント、ヘッドレスパターン、props よりコンポジション、クライアント境界
状態アーキテクチャCRITICAL7状態のコロケーション、状態マシン、URL の状態、導出値
フックのパターンHIGH6単一責任、命名、依存関係の安定性、コンポジション
コンポーネントの分割HIGH6スクロールテスト、変更理由に基づく抽出、ビューとロジックの分離
結合と凝集MEDIUM4依存性注入、循環依存、安定したインポート、バレルファイルを使わない
データと副作用MEDIUM4サーバー優先のデータ取得、TanStack Query、エラーバウンダリ
リファクタリングの安全性LOW-MEDIUM5特性化テスト、振る舞いのテスト、統合テスト

クイックリファレンス

重要なパターン — まずこれらを正しく適用します。

  • props が増えすぎる場合は、複合コンポーネントを使います
  • 状態は、それを使うコンポーネントの近くに置きます
  • 複雑な UI ワークフローには状態マシンを使います
  • コンテナのロジックと表示コンポーネントを分離します

よくある間違い — 次のアンチパターンは避けます。

  • 状態を読み取るコンポーネントが 1 つだけなのに、状態を App まで持ち上げる
  • 頻繁に変化する値にコンテキストを使う
  • データ取得、変換、キャッシュをすべて行う単一の巨大なフック
  • 振る舞いではなく実装の詳細をテストする

目次

  1. コンポーネントアーキテクチャ — CRITICAL
  2. 状態アーキテクチャ — CRITICAL
  3. フックのパターン — HIGH
  4. コンポーネントの分割 — HIGH
  5. 結合度と凝集度 — MEDIUM
  6. データと副作用 — MEDIUM
  7. 安全なリファクタリング — LOW-MEDIUM

参考資料

  1. https://react.dev
  2. https://react.dev/learn/thinking-in-react
  3. https://kentcdodds.com/blog/application-state-management-with-react
  4. https://testing-library.com/docs/guiding-principles
  5. https://patterns.dev

関連スキル

  • React 19 API のベストプラクティスについては、react スキルを参照してください
  • アプリケーションのパフォーマンス最適化については、react-optimise スキルを参照してください
  • クライアントサイドのフォーム処理については、react-hook-form スキルを参照してください

コメント