【发布时间】:2020-10-01 03:30:04
【问题描述】:
我有一个 Flutter 应用程序,我在其中使用 StreamProvider 监听来自 Firebase 的身份验证更改以显示正确的屏幕。我想做的是将 FirebaseUser 映射到自定义 User 对象,该对象将从 Firestore 中检索,以便从小部件树中的任何位置访问它。
有什么方法可以实现吗?
我现在在做什么:
class AuthService {
final FirebaseAuth _auth = FirebaseAuth.instance;
Stream<FirebaseUser> get user {
return _auth.onAuthStateChanged;
}
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamProvider<FirebaseUser>.value(
value: AuthService().user,
child: MaterialApp(...)
【问题讨论】:
-
创建 models 以将数据转换为 Dart 对象,并且您正在使用 Provider 进行状态管理,因此只需使用 ChangeNotifier 扩展模型并获取数据从任何时候你想:D
-
想知道您是否找到了解决方案!
-
@Karen 很遗憾没有,这是一个被搁置的小项目^^
-
不用担心,我花了几天几夜终于弄明白了。我会写一个解决方案来帮助其他人,如果你重新访问你的项目
标签: firebase flutter dart google-cloud-firestore flutter-provider