R初めてのReact

Day 0Reactってなに? — UIを部品で組み立てる

Reactとは — UIを部品でつくるライブラリ

Reactは画面(UI)を「部品(コンポーネント)」の組み合わせで作るためのライブラリ。なぜそんなものが必要になったのかを、手作業のDOM操作の限界から理解する。

Reactはひとことで言うと「UI部品の道具箱」

Reactは、Webの画面(UI = User Interface、ユーザーが見て触る部分)を作るためのJavaScriptライブラリです。特徴は、画面全体をいきなり作るのではなく、小さな「部品」を組み合わせて作るところにあります。この部品をReactでは「コンポーネント」と呼びます。ボタン、検索バー、商品カード、ヘッダー…これらをそれぞれ独立した部品として作り、レゴブロックのように組み立てて1つの画面にします。

なぜ「ライブラリ」なのか

ReactはあなたのJavaScriptコードから呼び出して使う「部品づくりの道具集」です。フレームワーク(全部お膳立てしてくれる仕組み)というより、UI作りに特化した道具。だから「画面をどう組み立てるか」に集中でき、他の部分は自由に選べます。

たとえるなら、レゴブロックのカタログです。ブロック一つひとつ(コンポーネント)には決まった形と役割があり、それらを組み合わせて城でも車でも作れます。同じブロックを何度でも使い回せるのがポイントです。「商品カード」という部品を1つ作れば、100個の商品を表示するときも同じ部品を100回並べるだけで済みます。

TSX
function ProductCard() {
  return (
    <div className="card">
      <h2>りんご</h2>
      <p>120円</p>
    </div>
  );
}
これが「コンポーネント」。関数が見た目(JSX)を返すだけ。この部品を何度でも並べられる。

なぜReactが生まれたのか

昔のWeb作りでは、画面を書き換えるたびに「この要素を探して、この文字をここに入れて、この色を変えて…」と1つずつ手作業で命令していました。これを「DOM操作」と言います。DOMとは、ブラウザが画面を木構造(ツリー)として持っているデータのことで、JavaScriptから直接いじれます。

JAVASCRIPT
// 手作業のDOM操作: 要素を探して、直接書き換える
const el = document.querySelector("#count");
el.textContent = "3";
el.classList.add("active");
小さい画面ならこれで十分。だが規模が大きくなると破綻する。

問題は、画面が複雑になったときです。データが変わるたびに「どこを、どう書き換えるか」を人間が全部管理しなければなりません。要素が数百個あり、状態が絡み合うと、「ここを変えたらあそこも直さなきゃ」という抜け漏れが必ず起きます。バグの温床でした。Reactは、この「手作業の書き換え」から人間を解放するために生まれました。

AIにはこう聞く

「Reactのコンポーネントと、素のJavaScriptでDOMを直接操作する方法の違いを、初心者向けに具体例つきで説明して」と聞くと、両者の考え方の差がつかめます。

  • Reactは画面(UI)を作るためのJavaScriptライブラリ
  • 画面を「コンポーネント(部品)」の組み合わせで作る
  • 同じ部品を何度でも再利用できる(レゴブロックのイメージ)
  • 手作業のDOM操作が大規模で破綻したことへの答えとして生まれた

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

Reactにおける「コンポーネント」を最もよく表しているのはどれ?

Q2

「なぜReactのような道具が生まれたのか」を、手作業のDOM操作の問題点に触れながら説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。