第5回
Reactってなに?ウェブサイトをブロックで作ろう
Reactとは何かをレゴブロックのたとえで小学生向けに解説。ウェブサイトを部品(コンポーネント)の組み合わせで作る考え方と、Reactを使うと何がうれしいのかを学びます。
制作・運営:React Guide 運営者
ウェブサイトは「部品」の組み合わせ
YouTubeでも、ゲームのサイトでも、画面をよーく見ると、いくつかの「部品(ブロック)」が組み合わさってできています。
ヘッダー・カード・フッター。これが全部「部品」です。
レゴブロックと同じ考え方
レゴを思い出してください。
- ブロックをひとつひとつ作って
- それを組み合わせて、家や車を作る
Reactも同じです。
- コンポーネント(部品)をひとつひとつ作って
- それを組み合わせて、ウェブサイトを作る
この「コンポーネント」が、Reactでの「ブロック」の名前です。
同じものを「何回も書く」のは大変
たとえば、クラスのみんなの紹介カードを3枚ならべたいとします。手書きのHTMLだけで並べると、にた形を何回も書くことになります。
<!-- Reactなし:同じ形を何回も書く -->
<div class="card"><h2>たける</h2><p>サッカー</p></div>
<div class="card"><h2>はるか</h2><p>ダンス</p></div>
<div class="card"><h2>ゆな</h2><p>読書</p></div>
<!-- これが100人分続く…😵 -->Reactを使うと、カードの「型」を1回だけ作って、あとはデータをならべるだけです。
// Reactあり:カードの「型」を1回作る
function NameCard({ name, hobby }) {
return (
<div className="card">
<h2>{name}</h2>
<p>{hobby}</p>
</div>
)
}
// あとはデータを入れて使い回すだけ(100人でもこの型は同じ)画面に出る見た目は、こうなります。
たける
サッカー
はるか
ダンス
ゆな
読書
1個の「型」から、何枚でも同じ形のカードを作れます。これがReactの便利なところです。
Reactを使わない選択もある
3枚の固定カードだけなら、HTMLとCSSでも作れます。JavaScriptで繰り返し表示する方法もあります。Reactだけが再利用できる道具というわけではありません。
このシリーズでは、同じカードを使い回し、ボタンで変わる状態を組み合わせる練習としてReactを使います。まずは小さな部品を作り、何が共通で何が違うかを自分で説明してみましょう。
まとめ
- ウェブサイトは「コンポーネント(部品)」の組み合わせでできている
- Reactは、その部品を作って組み合わせるための道具(レゴと同じ考え方)
- 部品を1回作れば、何回でも使い回せる
- 固定ページならHTMLでも作れる。Reactでは部品と状態を組み合わせる練習をする
次の第6回では、いよいよ StackBlitz を使って、ブラウザの中でReactを動かします。「動いた!」をいっしょに体験しましょう。
確認してみる
カード3枚で、共通の形と別々の情報を指さしてみる。色を共通で変える作業と、名前を別々に変える作業を分ける。
同じテーマの教材
プログラミングってなに?このシリーズのあるきかた
小学生からはじめるReact入門の第0回。プログラミングとは何かを身近なたとえで紹介し、このシリーズで最後にどんなゲームやアプリを作れるようになるのかを案内します。
自分のパソコンでReactを動かそう(つぎの一歩)
StackBlitzで作ったものを自分のパソコンでも動かす方法を小学生向けに解説。Node.jsの準備とViteでReactプロジェクトを作る手順、そして次に学ぶことを案内します。
じゃんけんゲームを作ろう(勝ち負けを判定)
コンピュータとじゃんけんできるゲームを作る回。自分の手をボタンで選び、相手の手を乱数で決めて、勝ち・負け・あいこを判定する方法を小学生向けに解説します。