Flutter 画面遷移から戻ってきたときに画面を更新する方法

こんにちは、株式会社Pentagon代表の山本です。
https://pentagon.tokyo
当社では「アプリを駆使した事業を立ち上げたい」方のために、アプリの設計・デザイン・開発までまるっとサポートしています。
今回は、Flutterでのアプリ開発時に必要な「画面遷移から戻ってきたときに画面を更新する方法」についてまとめます。

目次

方法1:画面をフルリロードする

onPressed: () async {
  //画面遷移
    await Get.toNamed("/hoge_create_screen");

    //通信処理
    final model = context.read(hogeScreenModelProvider);
    model.reload(); 
}

方法2:遷移先から値を渡す

画面から戻るたびに通信をするとUXを損ねる可能性があるので、遷移先から必要なデータを渡して更新する方法です。

onPressed: () async {
    //画面遷移
    final newHoge = await Get.toNamed("/hoge_create_screen") as Hoge;

    //UIを更新
    final model = context.read(hogeScreenModelProvider);
    model.append(hoge); 
},

遷移先での処理
新規作成したhogeインスタンスを戻る時に渡します。

Get.back<Hoge>(result: hoge);
採用情報はこちら
目次