propsが増え続ける原因は、「早すぎる部品化」かもしれません
画面を作っていると、親コンポーネントから子コンポーネントへ渡す props が、気づけば5個、6個と増えていることがあります。原因のひとつは、まだ1回しか使っていない部分を、先回りしてコンポーネントに切り出してしまっていることです。
以前「同じボタンを繰り返しコピペしているなら、それは部品化のサイン」という話を書きましたが、あちらは分けるべきなのに分けていない人向けの話でした。今回はその逆で、サインが出る前に先回りして分けてしまう人向けに、そこで起きる副作用を書きます。
「分けすぎ」で起きること
未経験の方によくあるのが、1つの画面を作る途中で「ここも部品にしておいた方がいいかな」と、まだ1回しか使っていないJSXのかたまりを別ファイルに切り出してしまうケースです。
やってみると分かるのですが、これをやると
- 親から子へ渡す props が増えていく
- 少し表示を変えたいだけなのに、ファイルを2つ行き来する
- 「このコンポーネント、どこで使われてるんだっけ」を探す時間が増える
という形で、かえって作業が重くなります。分割そのものが目的化してしまっている状態です。
分ける・分けないの判断基準
AIに実装を手伝ってもらう時代でも、「いつ分けるか」を決めるのは人間の役割です。判断に迷ったら、次の3つで考えると整理しやすいです。
① 同じ見た目を繰り返し書くようになってから分ける
1回しか使っていないなら、まだ1つのファイルの中に書いておいて構いません。大事なのは「まだ使い回していないうちから分けない」という向きで、実際に繰り返し使う場面に出会ってから分けても遅くありません。
② ファイルが長くなってきたら、まとまりで分ける
1ファイルが200〜300行を超えてきたら、機能のまとまり(フォーム部分、一覧表示部分など)で分割を検討します。行数だけを基準にせず、「別々に説明できる塊になっているか」を見るのがコツです。
③ 一度きりの見た目調整のためだけに分けない
「ここだけ余白を変えたい」程度の理由でファイルを分けると、props の受け渡しだけが増えて割に合いません。まずは同じファイル内で調整し、繰り返し使う場面が出てきてから分けても遅くありません。
Before / After
Before(1回しか使っていないのに先に分割)
// UserCard.tsx を最初から作ってしまう
function UserCard({ name, email }: { name: string; email: string }) {
return (
<div className="border p-4 rounded">
<p>{name}</p>
<p>{email}</p>
</div>
);
}
// ページ側
<UserCard name={user.name} email={user.email} />
まだ1箇所でしか使っていないのに、ファイルが分かれているせいで「name と email、他に何を渡せばいいんだっけ」と確認する手間が発生します。
After(実際に使い回す場面が出てから分割)
// 最初はページの中に直接書く
<div className="border p-4 rounded">
<p>{user.name}</p>
<p>{user.email}</p>
</div>
// 一覧画面でも同じ表示が必要になった時点で、初めてUserCardとして切り出す
同じ形が実際に繰り返し出てきた時点で切り出すと、「何を props として受け取るべきか」も実物を見比べながら決められるので、設計に迷いません。
AIに分割を頼む時も基準は同じ
Claude CodeなどのAIに「このコンポーネント分けて」と頼むと、律儀に細かく分割してくれることがあります。ここで大事なのは、AIの提案をそのまま受け入れるのではなく、「これは実際に使い回す部品か」「行数的にまとまりで区切れているか」を自分で確認することです。分割の実作業はAIに任せつつ、分割するかどうかの判断は自分で持っておく——この線引きが、AIと組んで開発する上で地味に効いてきます。
面談なしで、今日から始められます
この講座は 未経験から Next.js + Supabase + Claude Code で Webアプリを公開するまで を全24セッションで体系化した教材付きプランです。無料相談を挟まず、申し込んだその日から教材で学習を始められます。AIが学習パートナーになって何度でも質問でき、つまずいた所だけチャットで直接サポートします。
- 今日から始める(教材完全版+月5,500円・チャット質問し放題・いつでも解約OK)→ https://menta.work/plan/20251?ref=menta-knowledge
- いきなりは不安な方へ:無料の教材体験版もあります(最初の数セッション分)→ プラン詳細をご覧ください

