コース一覧
React設計:useEffectとコンポーネント分割
完成と次のステップ

React設計:useEffectとコンポーネント分割

副作用、useEffect、依存配列、クリーンアップ、stateの持ち上げ、propsの受け渡し、1コンポーネント1責務、部品ツリーとフォルダ構成を扱う全19レッスンの設計コースです。JavaScript版プロフィールサイトを、状態と責務が整理されたReactアプリとして完成させます。

1
useEffectのきほん
01. 副作用とは10分
02. useEffect15分
03. 依存配列15分
04. タイトル連動15分
05. 時計とクリーンアップ15分
06. つくる - ヘッダー時計20分
07. 第7章クイズ15分
2
コンポーネント分割の設計
01. 部品ツリーで考える10分
02. stateを持ち上げる15分
03. propsのバケツリレー15分
04. 1部品1責務15分
05. フォルダ構成10分
06. つくる - ツリー整理20分
07. 第8章クイズ15分
3
総合制作
01. 全セクションReact化20分
02. メモウィジェットReact版20分
03. 命令的vs宣言的10分
04. 自由拡張20分
05. 完成と次のステップ10分

完成と次のステップ

プロフィールサイトが完成しました

JavaScript で作ったプロフィールサイトを、React で丸ごと作り直しました。カードは props で動く部品になり、ダークモードとフォームと絞り込みは state で動き、時計は useEffect で動いています。最初のレッスンで見比べた「命令的と宣言的」の違いを、自分の手で最後まで書いたことになります。

身についたことを並べると、次のようになります。JSX で見た目を書くこと、props で値を渡すこと、useState で変わる値を持つこと、イベントで state を変えること、map と条件分岐でデータから画面を作ること、useEffect で外の世界とつなぐこと、そして画面を部品のツリーとして設計することです。これは React の土台のほぼ全部です。

ここから先の3つのコース

次に進む道は3つあり、この順番で受けるのがおすすめです。

1つ目は TypeScript 入門 です。このコースの途中で「props の名前を間違えて undefined になった」ことがあったはずです。TypeScript は、その手の間違いを書いている最中に教えてくれる仕組みです。React と組み合わせると props の受け渡しが一気に安全になるので、次はここが効きます。

2つ目は React 実践 です。第8章で体験した props のバケツリレーをどう解消するか、useContext やカスタムフックといった道具で学びます。サーバーからデータを取ってきて表示する、実務でいちばん多い形もここで扱います。

3つ目は Next.js 入門 です。React で作った画面を、ページの切り替えやサーバー側の処理まで含めて1つのアプリとして公開する枠組みです。React が分かっていることが前提なので、最後に置いています。

学び方の続け方

いちばん効くのは、このコースで作ったサイトを自分のものに書き換えることです。名前も作品も自分のものに変えて、公開してみてください。教材の題材ではなく自分の題材にした瞬間に、覚え方が変わります。

分からなくなったら、まず「どの state を変えれば、その画面になるか」に戻ります。React で迷ったときの立ち返り先は、いつもここです。

演習

最後に、完成したサイトへ締めのセクションを足します。これから学ぶことを自分の言葉で書いて、サイトを閉じましょう。

ヒント

section には className="next" を付けます。判定は .next の中を見ます

li は3つ必要です。map を使わず手で3行書いてもかまいません

App.jsx
data.js
プレビュー

できているか

  • next のセクションがある
  • 見出しに「これから学ぶこと」と書かれている
  • 次に学ぶことが3件並んでいる
  • TypeScript 入門 が入っている
エディタを読み込んでいます