flutter - Drawer 中正确的 Flutter 导航实践

标签 flutter navigator drawer

有关从 Material App 中可重复使用的抽屉中在 Flutter 屏幕之间导航的快速问题。

我有一个抽屉,在 Screen1() 和 Screen2() 的列表中设置了两个导航选项,例如:

    // Go to Screen 1
    Navigator.push(context, MaterialPageRoute(
    builder: (context) => Screen1()),
    //
    // Go to Screen 2
    Navigator.push(context, MaterialPageRoute(
    builder: (context) => Screen2()),

如果用户通过抽屉反复在 Screen1 和 Screen2 之间导航,这是否会产生低效且无休止的屏幕堆栈?我的意图是更改每个屏幕上的抽屉 - 使用 Navigator.pop() 以便用户可以返回到另一个屏幕,但据我了解,Navigator.pop() 只会破坏抽屉本身 - 而不是屏幕!

这对我来说似乎有点奇怪。你建议我在抽屉里做什么来保持工作效率?我可以编写导航器弹出代码来打破抽屉并弹出实际屏幕吗?

谢谢。

最佳答案

您可以使用pushReplacement代替pushAndRemoveUnitl。用新屏幕替换以前的屏幕,以防止无限堆栈。 如果有用就点赞:)

关于flutter - Drawer 中正确的 Flutter 导航实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70838318/

相关文章:

flutter - 为什么 flutter 在 url 启动器中给我 url null ?

flutter - 如何在 DropdownMenuItem 上使用 onClick 监听器

Flutter:使用 Navigator.of(context).pop() 时出现异常;

android - 在没有 TitleBar 或 ActionBar 的情况下使用 Navigation Drawer

react-native - 如何在没有导航的情况下创建抽屉菜单?

java - Android 抽屉导航/DrawerLayout...切换无法正常工作

firebase - 在另一个流中使用一个流 flutter

flutter 工具栏在状态栏下方重叠

JavaScript。如何将访问 Hook 到对象

javascript - 当 javascript 是浏览器支持的语言(基础)时,navigator.javaenabled() 意味着什么?