如何防止 Flutter 中的导航循环
How To Prevent Navigation Loops In Flutter
在我的应用程序中,我总共有 13 个屏幕,其中一些有指向其他屏幕的链接,我还有一个抽屉,其中有大部分屏幕的链接。
下图显示了我在应用程序中想要的唯一导航流程:
如您所见,只有 home
、warehouses
和 close expiry
屏幕链接到其他屏幕。但是因为抽屉存在于每个屏幕中,所以我现在可以从 warehouses
导航到 products
然后 warehouses
然后 products
等等,或者从 close expiry
导航到 warehouses
到products
到home
到close expiry
直到时间结束.
我想要的是:每当用户导航到 home
屏幕直接链接之一时,屏幕堆栈应仅包含 home
屏幕和导航到屏幕及其后代的屏幕。
换句话说,我想确保屏幕堆栈只有应用程序中任何屏幕的一个实例。我不想循环,我也不想摆脱抽屉。
有什么方法可以实现吗?
提前致谢。
我发现的唯一方法是在转到任何其他屏幕之前始终导航到主屏幕,这样我们就可以准确地实现问题中的要求
在我的应用程序中,我总共有 13 个屏幕,其中一些有指向其他屏幕的链接,我还有一个抽屉,其中有大部分屏幕的链接。
下图显示了我在应用程序中想要的唯一导航流程:
如您所见,只有 home
、warehouses
和 close expiry
屏幕链接到其他屏幕。但是因为抽屉存在于每个屏幕中,所以我现在可以从 warehouses
导航到 products
然后 warehouses
然后 products
等等,或者从 close expiry
导航到 warehouses
到products
到home
到close expiry
直到时间结束.
我想要的是:每当用户导航到 home
屏幕直接链接之一时,屏幕堆栈应仅包含 home
屏幕和导航到屏幕及其后代的屏幕。
换句话说,我想确保屏幕堆栈只有应用程序中任何屏幕的一个实例。我不想循环,我也不想摆脱抽屉。
有什么方法可以实现吗?
提前致谢。
我发现的唯一方法是在转到任何其他屏幕之前始终导航到主屏幕,这样我们就可以准确地实现问题中的要求