firebase - 导航到另一个页面后,Flutter Firebase 不退出
问题描述
所以我有这个 Flutter 应用程序可以通过抽屉导航,身份验证服务由 Firebase 提供。我目前正在研究颤振 2.5.1。
因此,当我登录时,该应用程序将我带到我设置的主页,它允许我单击注销(在我导航到另一个屏幕之前)。但是当我导航到另一个屏幕,然后单击我的注销按钮时,它不会注销(视觉上),并且像从登录的用户那里获取数据的功能仍然有效,从用户那里返回数据。
发生这种情况时,我必须重新加载,然后应用程序将我带回登录屏幕。
这是我的退出功能。
Future cerrarSesion() {
return FirebaseAuth.instance.signOut();
}
这是我的主文件
return FutureBuilder(
future: Firebase.initializeApp(),
builder: (context, snapshot) {
if (snapshot.connectionState != ConnectionState.done) {
return Center(
child: CircularProgressIndicator(),
);
}
return StreamProvider<User>.value(
initialData: null,
value: AuthService().usuario,
child: MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
fontFamily: regularFont,
primaryColor: kPrimaryColor,
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(primary: kPrimaryColor)),
scaffoldBackgroundColor: kBackgroundColor),
home: BasePage(),
),
);
});
这是 BasePage() 的方法,(评估用户是否登录的方法)
final usuario = Provider.of<User>(context);
return usuario == null ? LoginPage() : MyProfilePage();
我已经尝试过使用和不使用 null-safety,更改颤振版本但仍然无法正常工作。
我感谢有关此案例的指导,因为我不知道这可能是导致此问题的原因。
解决方案
推荐阅读
- python - 如何让机器人使用 on_message 在特定频道中发送消息
- amazon-web-services - 如何在 AWS ECS 容器中初始化激活 conda 并运行 python 文件?
- graphql - 如何使用strapi和graphql查询关系中的关系?
- php - 如何使用php中的if条件在while循环内的数据库中插入数据?
- javascript - Django 表单的下拉数据未存储在数据库中
- python - python:discord.py猜谜游戏没有执行
- python - 如何在 docker 入口点中运行导出命令?
- javascript - 使用 exceljs 以流模式添加图像
- paypal - Paypal:Orders API 与 Payments API,并找到更好的文档
- ms-access - 尽管分组,MS Access 报告中的 SUM 仍在使用所有行