- 2日目のゴールと今日やること
- なぜクラス化するのかを整理する
- TabRouter クラスの骨組みを作る
- URL hash から「状態」を取り出すメソッド
- 状態に応じて表示を切り替える render メソッド
- タブクリックで状態と URL を更新する
- hashchange で「戻る / 進む」に対応する
- 再読み込み復元は「初期化時の hash 参照」で完了する
- 実際の使い方のイメージ
- 今日いちばん深く理解してほしいこと
- 3日目のゴールと今日やること
- 画面遷移には「前後の処理」がつきものだと知る
- TabRouter に「フック」を追加する発想
- beforeChange で「行っていいか?」を判定する
- hash とクリックの両方から changeTab を通す
- 存在しない hash が来たときの扱いを決める
- 具体例:保存してない変更があるときに遷移を止める
- 3日目の全体像を言葉でなぞる
- 今日いちばん深く理解してほしいこと
- 4日目のゴールと今日やること
- 「タブごとに専用のロジックがある」世界を想像してみる
- タブごとに「コントローラ」を持たせる発想
- TabRouter に「タブコントローラ」を組み込む
- onEnter / onLeave を呼び出す仕組み
- 具体例で「タブコントローラ」のイメージを掴む
- ネストしたタブ(タブの中にタブ)をどう考えるか
- URL hash を「階層的に使う」かどうか
- 「画面遷移管理」と「URL hash」の関係をもう一度整理する
- 4日目のまとめ
- 5日目のゴールと今日やること
- 「画面遷移中」という状態をちゃんと持つ
- TabRouter に isTransitioning を追加する
- 遷移中は「新しい遷移を受け付けない」ようにする
- onEnter を「非同期対応」にする
- ローディング表示を「状態」として扱う
- onEnter からローディングを操作する例
- タブ切り替えにアニメーションを足す
- 「今どの画面か」を外からも分かるようにする
- 5日目の全体像を言葉でなぞる
- 今日いちばん深く理解してほしいこと
- 6日目のゴールと今日やること
- 画面遷移と「グローバル UI」の関係を考える
- TabRouter と通知コンポーネントを“ゆるくつなぐ”
- タブコントローラから通知を呼ぶ例
- 画面遷移と「アプリ状態(ログインなど)」の関係
- beforeChange で「アプリ状態」を見る
- 画面遷移と「URL 設計」の関係をもう一段深く見る
- hash を「構造化された情報」として扱う発想
- 外側 TabRouter と内側 TabRouter の連携イメージ
- 6日目の全体像を言葉でなぞる
- 今日いちばん深く理解してほしいこと
- 7日目のゴールと今日やること
- 完成版のイメージを一度“上から”眺める
- 画面遷移管理の“中身”を言葉で分解する
- URL hash と状態の関係をもう一度はっきりさせる
- 状態と表示の分離を、コードで再確認する
- タブ切替・履歴対応・再読み込み復元が“一本の線”でつながる瞬間
- 最後に、完成版 TabRouter の“要点だけ”をコードでまとめる
- 7日目の本質と、今のあなたの立ち位置
2日目のゴールと今日やること
2日目のテーマは
「1日目で作ったタブ切り替えロジックを“クラス化”して、どこでも再利用できる形にする」ことです。
昨日は関数ベースで
URL の hash を状態として扱い、
その状態に応じて表示を切り替える、という流れを作りました。
今日はそれをTabRouter のようなクラスにまとめて、
「このナビとビューを渡せば、勝手に SPA 風タブになる」
という状態を目指します。


