第0回
生成AI時代に、なぜフレームワークを学ぶのか
ChatGPTやCopilotがコードを書ける今、なぜReactを自分で学ぶ必要があるのか。バイブコーディングの限界と、AIを使いこなすために基礎が必要な理由を整理する。
制作・運営:React Guide 運営者
AIに任せたら動いた。それで終わり?
ChatGPTやGitHub Copilotはたしかにコードを書く。「Reactでカウンターを作って」と頼めば、コードの案が返ってくる。動作は自分の環境で確認する。
でも、次の瞬間に何かが起きる。
- エラーが出た。どこが問題かわからない
- 要件が少し変わった。どこを直せばいいかわからない
- コードレビューで「このコードの意図は?」と聞かれた。説明できない
AIが生成したコードは、読めなければ自分のコードではない。壊れたとき、変えたいとき、説明を求められたとき─手が止まる。
出力を確認する小さな練習
たとえばAIに「1回押すと2増えるボタン」を頼んだとします。setCount(count + 1) が2行あっても、このレンダーで読むcountは同じなので、期待どおり2増えるとは限りません。
まず 連続更新の実験室で結果を予測し、直接更新と関数型更新を比べてみてください。コードを読む基礎があれば、動いて見える出力にも具体的な確認条件を作れます。
AIを使いこなすために基礎が必要
逆説的に聞こえるかもしれないが、AIを上手く使うほど、基礎の重要性が増す。
理由は3つ。
1. 指示の質はスキルに比例する AIへのプロンプトは、何を作るかを正確に言語化できないと機能しない。「いい感じのUIを作って」では、いい感じのUIは返ってこない。設計の言葉を持っている人ほど、AIへの指示が具体的になる。
2. 生成されたコードは必ずレビューが必要 AI は自信を持って間違える。セキュリティ上の問題、パフォーマンス上の問題、プロジェクトのルールに合わない書き方─読めなければ見抜けない。
3. 微修正は直接触るほうが速い 「この部分のマージンを4pxにして」「このコンポーネントの名前を変えて」─こうした細かい変更は、コードを直接触るほうが圧倒的に速い。AIを経由するコストのほうが大きい。
このシリーズで作るもの
前置きはここまで。このシリーズでは実際に動くWebサイトを1本完成させる。
作るのは2ページ。
- トップページ:サイトの概要、特徴紹介、ナビゲーション
- 登場人物紹介ページ:キャラクター一覧、画像ギャラリー付きの詳細カード
バックエンドなし、データベースなし。TypeScriptで書いたデータを直接使う。このサイトの人物紹介を題材にした縮小版を作る。見た目に加え、選択・画像切り替え・URLの直接アクセスを確認する。
このシリーズの前提
- HTMLとCSSの基礎がある(タグの意味、ボックスモデル程度)
- 何かしらのプログラミング言語を触ったことがある(変数・関数・条件分岐)
- JavaScriptの深い知識は不要。必要な部分はその都度説明する
次の第1回では、「なぜReactなのか」─jQuery や Vanilla JS との違いから始める。
確認してみる
実験室で「同じ更新を2回」の結果を予測し、期待と違う理由を説明する。
同じテーマの教材
自分のパソコンでReactを動かそう(つぎの一歩)
StackBlitzで作ったものを自分のパソコンでも動かす方法を小学生向けに解説。Node.jsの準備とViteでReactプロジェクトを作る手順、そして次に学ぶことを案内します。
じゃんけんゲームを作ろう(勝ち負けを判定)
コンピュータとじゃんけんできるゲームを作る回。自分の手をボタンで選び、相手の手を乱数で決めて、勝ち・負け・あいこを判定する方法を小学生向けに解説します。
4択クイズを作ろう(正解と点数を出そう)
選択肢を押すと正解・不正解がわかり点数がたまる4択クイズを作る回。配列とmapで選択肢を並べ、stateで点数を管理する方法を小学生向けにやさしく解説します。