【发布时间】:2021-03-27 07:12:20
【问题描述】:
我有一个具有以下代码的 AuthService 类
UserData _userDetFromFirebaseUser(User user) {
if (user != null) {
return UserData(uid: user.uid);
} else {
return null;
}
}
Stream<UserData> get userData {
return _firebaseAuth.authStateChanges().map(_userDetFromFirebaseUser);
}
我使用了 Flutter 提供程序包中的 StreamProvider
Widget build(BuildContext context) {
return StreamProvider<UserData>.value(
value: AuthService().userData,
child: MaterialApp(
home: HomeController(),
),
);
}
一切正常,但问题是我想将自定义变量添加到 UserData 模型并通过提供程序获取它,但我不知道该怎么做。你能帮帮我吗?
用户模型是这样的
class UserData {
final String uid;
String name;
String phoneNumber;
UserData({this.uid});
}
另外:我尝试调用 Provider.of 方法并在应用程序中添加字段,但随后应用程序重新启动状态丢失我想保存该状态(模型中的字段变量)我是 Provider 和状态管理的新手所以请详细说明答案。
【问题讨论】: