😽
【Flutter】Riverpodのref.listenで画面遷移する
やりかた
以下をConsumerStatelessWidgetか、Comsumer内部で呼び出すと、isExit
がtrue担ったら画面遷移されるようになる。
ref.listen(
hogehogeProvider
.select((s) => s.isExit),
(previous, next) {
if (next == isExit) {
unawaited(
Navigator.pushReplacement(context, TmpRoutePage.route()),
);
}
},
);
initState を始め、State のライフサイクルメソッド内での使用も避けてください。
という注意書きがあるので、StatelessWidgetでの使用が望ましい。
selectを使わなくてもかけます。
参考
Discussion