【发布时间】:2018-08-04 12:07:04
【问题描述】:
这听起来很愚蠢,但我不能真正正确地注销我的应用程序,那是因为我在 MaterialApp 上使用了多个 FirebaseAnimatedList 和路由
routes: <String,WidgetBuilder>{
'/StartAppPage':(BuildContext context)=>new StartAppPage(),
'/LoginPage':(BuildContext context)=> new LoginPage(),
'/HomePage':(BuildContext context)=> new HomePage)
},
因此,应用程序会根据是否有用户来检查使用情况并路由到主页或登录。
我的主页有一个 FirebaseAnimatedList 和 在我的主页上有一个注销按钮可以执行此操作
await googleSignIn.signOut();
await FirebaseAuth.instance.signOut();
await FirebaseDatabase.instance.goOffline();
return Navigator.pushReplacementNamed(context, '/StartApp');
到主页并注销用户。
但是当另一个用户再次登录时,列表会显示旧用户的数据,并且该列表可以用来弄乱我的数据库
我怎样才能正确实现这一点,setPersistance 关闭或打开都没有区别
解决方案:通过应用保留一个 Firebase 用户实例。我推荐一个全局变量
【问题讨论】:
-
显示您用来注销用户的方法
-
这也可能是与您从数据库中传输数据的方式有关的问题
-
我不明白你,究竟如何?
-
我的意思是要么您没有正确注销用户,要么您没有以正确的方式查看数据(基于当前用户)
-
这更有意义,我可以使用正确的用户登录和注销,我正在使用的查询需要我当前的用户详细信息才能执行。它目前正在等待用户在那里显示列表和每个页面都设置了用户。
标签: flutter dart firebase-authentication