Flutterでpop時に再描画する方法【2パターン】

パターン1 - プッシュに時にthenをつける

push時にthenを繋げるとpopされたときに、そこで検知できます。
pushする画面事に再描画するかを決められるというメリットがありますが、push毎に設定しないといけないので場合によっては不便

Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => const Page1()),
).then((value) {
  // 再描画
  setState(() {});
});

パターン2 - didPopNextでpopを検知する

popで画面に戻ってきた場合に、検知するための機能が用意されているのでそれを使うこともできます。
使うためには、RouteAwareの設定が必要で、これ単体では使えません

@override
void didPopNext() {
  // 再描画
  setState((){});
}

RouteAwareの設定方法↓
【Flutter】RouteAwareで遷移を検知する方法 【Flutter】RouteAwareで遷移を検知する方法


Flutter開発で知らないと損すること Flutter開発で知らないと損すること

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です