mcpField
V
vercel-react-best-practices

vercel-react-best-practices

github.com/cloudai-x開発1.4k170 回インストール5 週間前に更新
リポジトリ

vercel-react-best-practices について

vercel-react-best-practicesは、ReactおよびNext.jsアプリを開発・レビューする人向けの性能ガイドです。データ取得、バンドルサイズ、サーバーとクライアントの処理、描画、JavaScriptのルールを優先度順にまとめています。

主な機能

  1. 01優先度別の最適化ルール
  2. 02ウォーターフォールとデータ取得の指針
  3. 03バンドルサイズの推奨事項
  4. 04サーバー・クライアント性能のパターン
  5. 05描画と再レンダリングの指針
  6. 06JavaScriptの効率化手法

活用シーン

  1. 01Reactコンポーネントの性能レビュー
  2. 02Next.jsのデータ取得の最適化
  3. 03バンドルサイズと読み込み時間の削減

インストール

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

$npx skills add https://github.com/cloudai-x/claude-workflow-v2 --skill vercel-react-best-practices

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

同梱ファイルAGENTS.md

詳細

Vercel React ベストプラクティス

適用するタイミング
  • 適用対象:React または Next.js の開発、コンポーネントの作成、データ取得のパターン、バンドルの最適化
  • 適用しない場合:プロジェクトで React または Next.js を使用していない場合

Vercel が管理する、React および Next.js アプリケーション向けの包括的なパフォーマンス最適化ガイドです。8 つのカテゴリにわたる 47 のルールを含み、影響度の高い順に並べて、自動リファクタリングとコード生成を支援します。

適用するタイミング

以下の場合に、これらのガイドラインを参照してください。

  • 新しい React コンポーネントまたは Next.js ページを作成するとき
  • データ取得(クライアント側またはサーバー側)を実装するとき
  • パフォーマンスの問題についてコードをレビューするとき
  • 既存の React/Next.js コードをリファクタリングするとき
  • バンドルサイズや読み込み時間を最適化するとき

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

優先度カテゴリ影響度プレフィックス
1ウォーターフォールの排除致命的async-
2バンドルサイズの最適化致命的bundle-
3サーバーサイドのパフォーマンス高server-
4クライアントサイドのデータ取得中〜高client-
5再レンダリングの最適化中rerender-
6レンダリングのパフォーマンス中rendering-
7JavaScript のパフォーマンス低〜中js-
8高度なパターン低advanced-

クイックリファレンス

1. ウォーターフォールの排除(致命的)
  • async-defer-await - 実際に使用する分岐の中に await を移動する
  • async-parallel - 独立した処理には Promise.all() を使用する
  • async-dependencies - 部分的な依存関係には better-all を使用する
  • async-api-routes - API ルートではプロミスを早く開始し、遅く await する
  • async-suspense-boundaries - Suspense を使用してコンテンツをストリーミングする
2. バンドルサイズの最適化(致命的)
  • bundle-barrel-imports - 直接インポートし、バレルファイルを避ける
  • bundle-dynamic-imports - 重いコンポーネントには next/dynamic を使用する
  • bundle-defer-third-party - ハイドレーション後に分析/ログ記録を読み込む
  • bundle-conditional - 機能が有効になったときだけモジュールを読み込む
  • bundle-preload - 体感速度を高めるため、ホバー/フォーカス時にプリロードする
3. サーバーサイドのパフォーマンス(高)
  • server-cache-react - リクエストごとの重複排除に React.cache() を使用する
  • server-cache-lru - リクエストをまたいだキャッシュには LRU キャッシュを使用する
  • server-serialization - クライアントコンポーネントに渡すデータを最小限にする
  • server-parallel-fetching - コンポーネントを再構成して、取得処理を並列化する
  • server-after-nonblocking - ノンブロッキング処理には after() を使用する
4. クライアントサイドのデータ取得(中〜高)
  • client-swr-dedup - リクエストの自動重複排除には SWR を使用する
  • client-event-listeners - グローバルイベントリスナーの重複を排除する
5. 再レンダリングの最適化(中)
  • rerender-defer-reads - コールバック内でのみ使用する状態を購読しない
  • rerender-memo - コストの高い処理をメモ化したコンポーネントに切り出す
  • rerender-dependencies - エフェクトではプリミティブ型の依存値を使用する
  • rerender-derived-state - 生の値ではなく、派生した真偽値を購読する
  • rerender-functional-setstate - 安定したコールバックには関数形式の setState を使用する
  • rerender-lazy-state-init - コストの高い値には useState に関数を渡す
  • rerender-transitions - 緊急性の低い更新には startTransition を使用する
6. レンダリングのパフォーマンス(中)
  • rendering-animate-svg-wrapper - SVG 要素ではなく、ラッパーの div をアニメーション化する
  • rendering-content-visibility - 長いリストには content-visibility を使用する
  • rendering-hoist-jsx - 静的な JSX をコンポーネントの外に切り出す
  • rendering-svg-precision - SVG 座標の精度を下げる
  • rendering-hydration-no-flicker - クライアント専用データにはインラインスクリプトを使用する
  • rendering-activity - 表示/非表示の切り替えには Activity コンポーネントを使用する
  • rendering-conditional-render - 条件分岐には && ではなく三項演算子を使用する
7. JavaScript パフォーマンス (低~中)
  • js-batch-dom-css - クラスまたは cssText を介して CSS の変更をグループ化する
  • js-index-maps - 繰り返しの検索用に Map を構築する
  • js-cache-property-access - ループ内でオブジェクトのプロパティをキャッシュする
  • js-cache-function-results - モジュールレベルの Map で関数の結果をキャッシュする
  • js-cache-storage - localStorage/sessionStorage の読み取りをキャッシュする
  • js-combine-iterations - 複数の filter/map を 1 つのループにまとめる
  • js-length-check-first - 負荷の高い比較の前に配列の長さを確認する
  • js-early-exit - 関数から早めに return する
  • js-hoist-regexp - RegExp の生成をループの外に巻き上げる
  • js-min-max-loop - min/max には sort ではなくループを使用する
  • js-set-map-lookups - O(1) の検索には Set/Map を使用する
  • js-tosorted-immutable - イミュータビリティのために toSorted() を使用する
8. 高度なパターン (低)
  • advanced-event-handler-refs - イベントハンドラーを ref に保存する
  • advanced-use-latest - 安定したコールバック ref のために useLatest を使用する

完全版コンパイル済みドキュメント

すべてのルールを展開し、詳細なコード例を掲載した完全なガイドについては、AGENTS.md を参照してください。

各ルールには次の内容が含まれます:

  • なぜ重要かについての簡単な説明
  • 説明付きの誤ったコード例
  • 説明付きの正しいコード例
  • 追加のコンテキストと参考情報

コメント