コース一覧
React Routerとアプリ設計
完成と次のステップ

React Routerとアプリ設計

React Router、Routes・Route・Link、URLパラメータ、検索条件、404、見た目と機能の分離、合成、機能別フォルダを扱う全18レッスンのアプリ設計コースです。fleamaを商品一覧・詳細・出品・カート・マイページを持つ複数ページSPAとして完成させます。

1
ルーティング(React Router v7)
01. ルーティング導入15分
02. RoutesとRoute15分
03. 遷移を作る15分
04. URLパラメータ15分
05. 検索条件をURLに15分
06. 404ページ15分
07. つくる - ページ分割完了20分
08. 第7章クイズ15分
2
コンポーネント設計パターン
01. 見た目と機能の分離15分
02. 合成で組み立てる15分
03. 機能別フォルダ10分
04. つくる - 設計リファクタ20分
05. 第8章クイズ15分
3
総合制作
01. 購入フロー20分
02. マイページ20分
03. 仕上げ15分
04. 自由拡張20分
05. 完成と次のステップ10分

完成と次のステップ

fleama が完成しました

62 レッスンかけて作ってきたものを並べると、こうなります。

  • 型の付いた部品 — props も state もイベントも型で守られている
  • API からのデータ取得 — 読み込み中とエラーと空を全部持っている
  • カスタムフック — 取得もフォームも画面から切り離してある
  • Context — テーマとログイン中のユーザーがどこからでも読める
  • useReducer — カートの操作が型で網羅されている
  • ルーティング — 5つの画面が URL で分かれている

これは「React が書ける」と言ってよい範囲です。求人票に並ぶ言葉のうち、React まわりのものはだいたい入っています。手元に残ったこのアプリは、そのままポートフォリオになります。

1つだけ本物ではないもの

まだ本物ではないところが1つあります。データです。mock-api.json はブラウザの中だけで動く偽物なので、画面を閉じれば出品したものは消えます。

ここを本物にするのが Node.js入門 です。同じ /api/items を、今度はサーバー側で書きます。仕様は今のままでよいので、fleama の画面は1行も変えずに、データが残るようになります。作りかけを本物にする作業なので、達成感で言えばこちらが大きいはずです。

もう1つの進み方

Next.js入門 は、React の書き方をそのまま使えるフレームワークです。fleama では、画面を開いてから商品を取りに行っていました。Next.js は先にサーバー側で画面を組み立てておけるので、最初の表示が速くなり、検索にも載りやすくなります。人に見せるアプリを公開するところまで行きたいなら、こちらです。

どちらから進んでも構いません。データを残したいなら Node.js入門、公開して人に見せたいなら Next.js入門です。

演習

完成した fleama のトップに、作った人の名前とひとことを出します。次に学ぶことも書き出しておきます。

ヒント

maker は Maker 型なので、name と word の両方が要ります

nextSteps は string[] なので、入れられるのは文字列だけです

何をするところなのかは本文に書いてあります。自分の言葉に直して構いません

App.tsx
プレビュー

できているか

  • fleama の一覧が出ている
  • 作った人の名前が出ている
  • ひとことが出ている
  • 次に学ぶことが2つ以上ある
  • Next.js入門 が入っている
  • Node.js入門 が入っている
  • any で逃げていない
エディタを読み込んでいます