LoginSignup
1
1

More than 5 years have passed since last update.

Navigator による画面遷移

Last updated at Posted at 2018-09-07

任意の画面にいきなり遷移

WidgetBuilder とともに MaterialPageRoute という router を Navigator.push すれば良い。

Navigator.push(context, MaterialPageRoute(builder: (context) {
  return MyScreen(foo: "bar");
}));

これでどこからでも好きな画面に遷移できる。

通常の画面遷移

ちなみにきちんと名前をつけてある route はこのように遷移する。

Navigator.pushNamed(context, '/settings')

このとき Navigator は自身に登録されているルーティング情報から適切に Route を作り遷移する。

onUnknownRoute

Navigator を初期化するときに onUnknownRoute というのを指定することができる。MaterialApp からでも指定することができる。名前から推測できるとおり指定された名前に対応する Route が存在しなかったときに使われる。

続く

/pages/1 みたいなルーティングは既存の Navigator では実現できないように見えるけどどうなんだろ?🤔

context から Navigation を取得して現在の path かなんかを取得できるだろうから、それを使えばできそうやな。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1