7.7 案件参加に向けたチェックリスト
ここまでの章で、React と周辺エコシステムの地図を眺めてきました。最後に、実際に案件に合流したときの「最初の 1 時間」を順序付けしておきます。コード読解の入り口を固めておくと、作業スピードが目に見えて上がります。
焦らず、上から順に見ていけば大丈夫です。すべて既存資料の読み取りなので、コードを書く必要はありません。
図 7.7.1 最初の 1 時間の 4 ステップ
最初の 1 時間でやること
以下は、リポジトリをクローンした直後に順番に確認していく項目です。
リポジトリ全体
- [ ]
README.mdを開いて、プロジェクトの目的・セットアップ手順・既知の注意点を読みます。 - [ ]
package.jsonを開き、次を確認します。name/versiondependenciesとdevDependenciesの主要ライブラリ(これが案件のエコシステム選択です)。scripts(dev/build/test/lint等)。packageManagerフィールド(pnpm / npm / yarn のどれを使うか)。
- [ ]
.node-version/.nvmrc/enginesフィールドで必要な Node.js バージョンを確認。 - [ ]
.env.exampleがある場合、必要な環境変数の一覧を把握します。 - [ ]
.gitignoreで、リポジトリに入っていないファイル(ローカル設定など)の存在を知ります。
ディレクトリ構造
- [ ] ルート直下のディレクトリを眺め、構成パターンを把握します。
app/があるか → Next.js App Router の可能性が高いです。src/があるか → Vite + React や Pages Router の可能性。public/→ 静的アセット。components//features//lib//hooks/など、コード分類のルールを読み取ります。
- [ ]
tsconfig.jsonのpaths/baseUrlを見て、パスエイリアス(@/componentsなど)を確認。 - [ ]
next.config.*/vite.config.*を開いて、ビルド設定とプラグインを確認。
動かしてみる
- [ ] 依存をインストールします(
pnpm installなど、そのリポジトリが採用しているコマンドで)。 - [ ] 開発サーバを起動します(
pnpm run devなど)。エラーが出たらまずそのメッセージを読み、.env不足や Node.js バージョン不整合をチェック。 - [ ]
localhost:3000などを開き、トップ画面が表示されることを確認。 - [ ] テストがあれば実行します(
pnpm run test)。失敗しているテストがあるかを把握します(既知の failing テストかどうかはチームに要確認)。 - [ ] Lint を動かします(
pnpm run lintなど)。
コードの入口を見つける
- [ ] ルーティングの入口 を特定します。
- Next.js App Router:
app/layout.tsxとapp/page.tsx。 - Next.js Pages Router:
pages/_app.tsxとpages/index.tsx。 - Vite + React Router:
src/main.tsxとsrc/App.tsx(あるいはrouter.tsxのような設定)。
- Next.js App Router:
- [ ] グローバル Provider の配置を確認します。QueryClientProvider、Redux Provider、テーマ Provider などがここに並びます。
- [ ] 認証フロー の入口を特定します(
middleware.ts/ auth 関連のフック / API ルート)。
主要な状態管理の場所
- [ ] どのライブラリが使われているか確認します(Context / Zustand / Redux Toolkit / Jotai など)。
- 7.2 状態管理 の表と照らします。
- [ ] ストアまたは Provider がどこで定義されているかを読みます。
- [ ] どんなデータが載っているかざっと眺めます(ユーザー情報、カート、UI 状態など)。
データフェッチの配置
- [ ] サーバー状態をどう扱っているか確認します。
- TanStack Query / SWR / RTK Query のいずれか。
- Next.js App Router の
fetch+ Server Components を使っているか。 - 7.3 データフェッチ の判断軸を参照。
- [ ] API のエンドポイント定義がどこに集まっているか探します(
lib/api.tsやservices/などが典型)。
スタイリングの方針
- [ ] どのライブラリか確認します(Tailwind / CSS Modules / styled-components / Emotion)。
- [ ] テーマ(色・タイポ・スペーシング)が定義されているファイルを探します(
tailwind.config.*やtheme.ts等)。 - [ ] デザインシステムのコンポーネント(Button / Input 等)が集約されている場所を確認します。
テストと品質
- [ ] テストがあるか。どのツールか(Vitest / Jest / Playwright)。
- [ ] どの粒度で書かれているか(ユニット / 統合 / E2E のいずれか)。
- [ ] カバレッジ計測があるか(
coverage/や CI の出力)。
Git 運用 / CI / デプロイ
- [ ] デフォルトブランチ名(
main/develop)。 - [ ] ブランチ戦略(feature/xxx, release/xxx, trunk-based のどれに近いか)。
- [ ]
.github/workflows/を開き、CI で何が動くかを確認します(lint / test / build / deploy)。 - [ ] デプロイ先を確認します(Vercel / AWS / 社内インフラ)。プレビュー URL の仕組み。
- [ ] Pull Request テンプレート (
.github/pull_request_template.md) があれば読みます。
チームのルール
- [ ]
CONTRIBUTING.md/CODE_OF_CONDUCT.mdがあれば読みます。 - [ ] コミットメッセージの規約(Conventional Commits か、日本語で書くか)を既存履歴から観察します。
- [ ] コードレビューのフロー(誰が Approve する、何人必要、など)をチームに確認します。
「本サイトのどこを復習すべきか」対応表
新しい案件で遭遇した要素について、復習が役に立つ章を下表にまとめます。
| 案件で見つけた要素 | 復習すべき章 |
|---|---|
| JSX / コンポーネントの書き方を忘れた | 3.2 JSX の本質, 3.3 コンポーネント |
useState / useEffect の挙動に迷う | 3.4 状態 (state), 3.6 副作用 (useEffect) |
key で警告が出る | 3.7 リストと key |
| フォームが思ったように動かない | 3.8 フォーム, 4.2 Actions / use / useOptimistic / useActionState |
<Suspense> や use(promise) を見かけた | 4.3 Suspense, 4.2 use |
| Context が絡んで再レンダーが謎 | 4.4 Context, 4.6 パフォーマンス |
forwardRef / useRef の書き方 | 4.5 Refs |
memo / useMemo / useCallback の判断 | 4.6 パフォーマンス |
use server / use client が出てきた | 5.2 Server vs Client Components, 5.4 Server Actions |
| Next.js App Router の構造を知りたい | 5.3 Next.js App Router 入門 |
| 「なぜ React は速いのか」を説明する必要 | 6.1 Virtual DOM のアイデア, 6.2 Reconciliation と Fiber |
| フックの仕組みが気になる | 6.3 Hook はどう動いているか |
| 状態管理ライブラリの選び方 | 7.2 状態管理 |
| データフェッチのライブラリの選び方 | 7.3 データフェッチ |
| スタイリングの選び方 | 7.4 スタイリング |
| テストの書き方 | 7.5 テスト入門 |
| 挙動がおかしい / 何が起きているか分からない | 7.6 DevTools とデバッグ |
図 7.7.2 参加初日の流れ
最後に
受託案件は「他人のコードに入る」ことから始まります。自分が書いたわけではない選択が並んでいるのが通常で、その選択には何らかの理由があります。Part 1 で見たように、React そのものが特定の問題意識から生まれたのと同じで、案件に入っている Zustand や Tailwind や Vitest も、何らかの制約の下で合理的に選ばれた結果です。
最初は違和感があっても、まずは既存の選択の 理由を読み取る ところから始めてみてください。そのうえで、改善できそうなところ(テストを足す、DevTools の使い方をチームで揃える、など)から貢献を始めるのが、摩擦の少ない合流の仕方です。
この Part 7 の 7 つの章は、そのための下敷きを提供しました。各ライブラリの使い方そのものは公式ドキュメントに譲り、本サイトは「選ぶ軸」と「読む順番」に集中しました。実務で出会う問題の多くは、ここで引いた地図の上に位置づけられるはずです。
急がなくて大丈夫です。分からないところは、その場面に出会ってから該当章に戻ってきてください。
参照ソース
この章はここまでの内容のまとめであり、一次資料は各章末に掲載しています。次を参照してください。