退出后如何回到应用程序的起点?
how to go back to the start point of the app after signing out?
退出后我想回到起点。我将尝试演示我的应用程序结构,以便于您理解。
首先我有一个包装器
return user == null ? Authentication() : SectionWrapper();
在部分包装器中,我有 2 条使用推送替换导航的路线
所以基本上
Authentication() || SectionWrapper() at level 1
pushReplacement: Section1() || Section2()
在这些部分的每个部分中,我都有 2 个按钮并检查用户是否为 null,它 returns authentication() 如果不是,则检查部分小部件。问题是当我注销并再次登录时,我最终会回到我注销的位置,我想要的是返回到 auth,当我再次登录时,我应该移动到 SectionWrapper()。我试过 popUntil 但它不起作用,因为我使用的是 Push 替换。我也尝试 Navigator.push 到 sectionWrapper() 但它的 uid 有一些问题。最后,在该部分中,我尝试了
user == null
? SectionWrapper()
:Widget tree
但是没用
那么这样做的可能方法是什么?
您可以只推送和删除直到您的主页。
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => MainPage()),
(route) => false,
);
然后您的应用将“重新启动”
退出后我想回到起点。我将尝试演示我的应用程序结构,以便于您理解。
首先我有一个包装器
return user == null ? Authentication() : SectionWrapper();
在部分包装器中,我有 2 条使用推送替换导航的路线
所以基本上
Authentication() || SectionWrapper() at level 1
pushReplacement: Section1() || Section2()
在这些部分的每个部分中,我都有 2 个按钮并检查用户是否为 null,它 returns authentication() 如果不是,则检查部分小部件。问题是当我注销并再次登录时,我最终会回到我注销的位置,我想要的是返回到 auth,当我再次登录时,我应该移动到 SectionWrapper()。我试过 popUntil 但它不起作用,因为我使用的是 Push 替换。我也尝试 Navigator.push 到 sectionWrapper() 但它的 uid 有一些问题。最后,在该部分中,我尝试了
user == null
? SectionWrapper()
:Widget tree
但是没用
那么这样做的可能方法是什么?
您可以只推送和删除直到您的主页。
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => MainPage()),
(route) => false,
);
然后您的应用将“重新启动”