🧟
you have popped the last page off of the stack, there are no pages lef
go_routerでpopできない?
go_routershowDialogを閉じるとエラーが発生した😱
エラーコード
_assertionerror ('package:go_router/src/delegate.dart': failed assertion:
you have popped the last page off of the stack, there are no pages left to show)
このコードをonPressedの中に書くと、エラーが発生した!
Navigator.of(context).pop(context);
こちらの記事を参考にしたら解決できた!
コードを修正すると実行できた!
AlertDialog(
title: Text("This is the title"),
content: Text("This is the content"),
actions: [
TextButton(
child: Text("Cancel"),
onPressed: () {
// Navigator.of(context).pop(context);
GoRouter.of(context).pop();// こちらのコードに変更.
},
),
TextButton(
child: Text("OK"),
onPressed: () => print('OK'),
),
],
);
まとめ
最近、go_routerを使うようになって画面遷移のエラーによくハマります!
画面遷移のコードは、ダイアログやボトムシート、Widgetによって違うみたいです。
Discussion