About

Flutterの画面遷移の基本 — push/popとNamed Routes

Navigatorのスタックに画面を積む

Flutterのナビゲーションはスタックデータ構造ベースです。Navigator.push()で新しい画面を積み、pop()で前の画面に戻ります。

Named Routesを使えばMaterialAppのroutesマップでパスを管理し、Navigator.pushNamed('/detail')のように文字列で遷移できます。

複雑なアプリではgo_routerのような宣言的ルーティングパッケージの使用が推奨されます。

実装ステップ

1

Navigator.push()で新画面遷移 + pop()で戻る

2

MaterialAppのroutesプロパティでNamed Routes設定

3

画面間データ受渡:コンストラクタパラメータまたはarguments使用

4

WillPopScopeで戻るボタンインターセプト(未保存の変更確認など)

メリット

  • ✓ 直感的なスタックベースモデル
  • ✓ 基本使用には追加パッケージ不要

デメリット

  • ✗ Named Routesは型安全ではない(文字列ベース)
  • ✗ ディープリンク、Web URL対応が限定的

ユースケース

マスター-ディテールパターン(リスト → 詳細ページ) ログイン/会員登録フロー
← BLoCパターンとは?イベントと状態でUIとロジックを分ける GoRouterの使い方 — URLで画面を決める宣言的ルーティング →