パターン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開発で知らないと損すること](https://417.run/wp-content/uploads/2021/12/image-1639790999665.png)