首页 > 解决方案 > Flutter:注册用户时如何防止自动导航到首页?

问题描述

我有一个从 Firebase 监听 authStateChanges 的 Stream。这决定了在根页面上是向用户显示登录页面还是主页。目前,我设想的导航流程是这样的:应用流程

其中,如果用户 Stream 不是 null 值,它将返回主页,并且 Stream 中没有任何内容,它将转到登录页面。我的问题围绕注册页面和完整注册页面之间的导航展开。使用 Firebase,电子邮件/密码注册过程会自动在 firebase 中注册用户,然后将其登录。我可以使用常规命名路由从注册页面转到完整注册页面,即使 Stream 会注册用户时是否有身份验证状态更改?

从概念上讲,我认为 Stream 会自动将用户从注册页面带到主页,并跳过完整注册页面,即使使用路由器也是如此。我错过了什么吗?

附加信息:目前 authStateChanges 仅收听用户 uid,最终我想在使用电子邮件/密码注册时加入电子邮件验证。

标签: flutterstate-managementflutter-navigation

解决方案


在您的 MaterialApp 中,如果 snapshot.data.isAuth 返回 HomePage() ,则使用您的代码将其子项设为 StreamBuilder ,否则返回 SignupPage()


推荐阅读