我想知道如何能够在两个屏幕之间实现路由,并且能够返回到前一个屏幕,但不能将它们全部堆叠 .

目前,我有两条路线: //planets 默认初始路线是 / 当我导航到 /planets 时,我得到两条路线的堆栈,我可以回到 / 然后退出应用程序 . 但是当我多次点击这两条路线时,它们相互堆叠,我得到无限的路线堆叠 . 我希望最大堆栈大小为2,并通过pop()的能力导航 . 可能吗 ?我怎么能做到这一点?

void _navigateTo(BuildContext context, Screen screen) {
    Navigator.pop(context);
    if (Screen.HomeScreen == screen) {
      Navigator.pushReplacementNamed(context, '/');
    } else if (Screen.PlanetsScreen == screen) {
      Navigator.pushReplacementNamed(context, '/planets');
    }
  }

这是由于大小为1的堆栈,并且总是在我推送并希望返回应用关闭时...