我在用
GoRouter.of(context).pop(); 从我的“设置”页面导航到上一个屏幕,它工作正常。
但如果我在另一个屏幕上使用它来导航回来,它会将我发送到主屏幕。
这两种情况都是这样的:
onPressed: () {
GoRouter.of(context).pop();
}
我在用
GoRouter.of(context).pop(); 从我的“设置”页面导航到上一个屏幕,它工作正常。
但如果我在另一个屏幕上使用它来导航回来,它会将我发送到主屏幕。
这两种情况都是这样的:
onPressed: () {
GoRouter.of(context).pop();
}
将导航视为一个堆栈,如果您这样做,则
GoRouter.of(context).go('/route')
正在使用新路线清除堆栈。如果这样做,GoRouter.of(context).push('/route')
您将添加到堆栈中。因此,如果当您使用 .go() 并执行 .pop() 时,如果您没有默认路线并且堆栈中没有其他导航,您将遇到错误,或者您将转到堆栈中的下一个导航。理想情况下,如果您想要在堆栈中上下导航,请坚持使用 .push() 和 .pop(),如果您要一次性进入新屏幕,请使用 .go()。