Day 0・Reactってなに? — UIを部品で組み立てる
Reactとは — UIを部品でつくるライブラリ
Reactは画面(UI)を「部品(コンポーネント)」の組み合わせで作るためのライブラリ。なぜそんなものが必要になったのかを、手作業のDOM操作の限界から理解する。
Reactはひとことで言うと「UI部品の道具箱」
Reactは、Webの画面(UI = User Interface、ユーザーが見て触る部分)を作るためのJavaScriptライブラリです。特徴は、画面全体をいきなり作るのではなく、小さな「部品」を組み合わせて作るところにあります。この部品をReactでは「コンポーネント」と呼びます。ボタン、検索バー、商品カード、ヘッダー…これらをそれぞれ独立した部品として作り、レゴブロックのように組み立てて1つの画面にします。
なぜ「ライブラリ」なのか
ReactはあなたのJavaScriptコードから呼び出して使う「部品づくりの道具集」です。フレームワーク(全部お膳立てしてくれる仕組み)というより、UI作りに特化した道具。だから「画面をどう組み立てるか」に集中でき、他の部分は自由に選べます。
たとえるなら、レゴブロックのカタログです。ブロック一つひとつ(コンポーネント)には決まった形と役割があり、それらを組み合わせて城でも車でも作れます。同じブロックを何度でも使い回せるのがポイントです。「商品カード」という部品を1つ作れば、100個の商品を表示するときも同じ部品を100回並べるだけで済みます。
function ProductCard() {
return (
<div className="card">
<h2>りんご</h2>
<p>120円</p>
</div>
);
}なぜReactが生まれたのか
昔のWeb作りでは、画面を書き換えるたびに「この要素を探して、この文字をここに入れて、この色を変えて…」と1つずつ手作業で命令していました。これを「DOM操作」と言います。DOMとは、ブラウザが画面を木構造(ツリー)として持っているデータのことで、JavaScriptから直接いじれます。
// 手作業のDOM操作: 要素を探して、直接書き換える
const el = document.querySelector("#count");
el.textContent = "3";
el.classList.add("active");問題は、画面が複雑になったときです。データが変わるたびに「どこを、どう書き換えるか」を人間が全部管理しなければなりません。要素が数百個あり、状態が絡み合うと、「ここを変えたらあそこも直さなきゃ」という抜け漏れが必ず起きます。バグの温床でした。Reactは、この「手作業の書き換え」から人間を解放するために生まれました。
AIにはこう聞く
「Reactのコンポーネントと、素のJavaScriptでDOMを直接操作する方法の違いを、初心者向けに具体例つきで説明して」と聞くと、両者の考え方の差がつかめます。
- Reactは画面(UI)を作るためのJavaScriptライブラリ
- 画面を「コンポーネント(部品)」の組み合わせで作る
- 同じ部品を何度でも再利用できる(レゴブロックのイメージ)
- 手作業のDOM操作が大規模で破綻したことへの答えとして生まれた
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
Reactにおける「コンポーネント」を最もよく表しているのはどれ?
「なぜReactのような道具が生まれたのか」を、手作業のDOM操作の問題点に触れながら説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。