如何实现SignIn/Signup成功后直接跳转至用户首页?
登录成功后跳转至首页
直接在signInWithEmailAndPassword执行成功的代码块后添加导航逻辑即可,以下是修改后的完整代码:
RoundedElevatedButton( child: const Text("Sign in"), onPress: () async { try { await FirebaseAuth.instance .signInWithEmailAndPassword(email: email, password: password); // 登录成功后跳转至首页 Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const HomePage()), ); } catch (e) { print(e.runtimeType); } });
关键说明:
- 使用
Navigator.pushReplacement而非push:这种方式会替换当前路由栈中的登录页,用户无法通过返回键回到登录界面,符合登录后的常规导航逻辑。 - 确保
HomePage是你已定义的首页组件,且当前context可用(比如按钮处于Scaffold或有有效BuildContext的组件内)。
如果你的项目使用命名路由,也可以用下面的方式跳转:
// 前提是已在MaterialApp的routes中配置'/home'路由 Navigator.pushReplacementNamed(context, '/home');
内容的提问来源于stack exchange,提问作者Saad
相关产品推荐
相关产品推荐

