【发布时间】:2020-08-19 20:17:27
【问题描述】:
我有一个 FirebaseActions 类,它正在为我进行注册和登录工作。我在其中添加了一个 getCurrentUser 方法。我正在从我的 HomeScreen 小部件中调用该函数。我需要将返回的值(type= FirebaseUser)放入我的 HomeScreen 中的一个变量中以访问loggedInUser.email。但我得到这个错误。我的问题;有什么方法可以将 FirebaseUser 类型的数据放入 Future 类型变量中?当我在 HomeScreen 而不是 FirebasAction 类中编写此函数时,它可以工作,但这是最佳实践吗?
FirebaseActions 类
static getCurrentUser(context) async {
final user = await _auth.currentUser().catchError((error) {
Scaffold.of(context).showSnackBar(AppSnackBar.appSnackBar(error.message));
});
if (user != null) {
return user;
}
}
主屏幕小部件
class _HomeScreenState extends State<HomeScreen> {
FirebaseUser loggedInUser;
@override
void initState() {
super.initState();
loggedInUser = FirebaseActions.getCurrentUser(context);
print(loggedInUser.toString());
}
【问题讨论】: