我想退出后回到自己的起点。我将尝试演示我的应用程序结构,以使您易于理解。
首先,我有一个包装纸

    return user == null ? Authentication() : SectionWrapper();
在部分包装器中,我有2条通过推式替换导航的路线
所以基本上
Authentication() || SectionWrapper() at level 1
  pushReplacement: Section1() || Section2()
在每个部分中,我有2个按钮,并检查user是否为null,如果不是,则返回authentication(),该部分是小部件。问题是当我退出并再次登录时,我最终会退出我的确切位置,我想要返回的是auth,而当我再次登录时,我应该移至SectionWrapper()。我尝试了popUntil,但由于我使用的是Push替换,因此无法正常工作。我也尝试了Navigator.push到sectionWrapper(),但是它与uid有一些问题。最后,在本节中,我尝试了
user == null
        ? SectionWrapper()
        :Widget tree
但这没用
那么有什么可能的方式呢?

最佳答案

您可以将其推入并移除直到您的主页。

Navigator.of(context).pushAndRemoveUntil(
                                  MaterialPageRoute(builder: (context) => MainPage()),
                                  (route) => false,
                                );
然后您的应用将“重新启动”

08-26 07:54