【发布时间】:2021-02-11 22:45:46
【问题描述】:
我正在尝试确定用户是否使用 FirebaseAuth.instance.currentUser 登录(Flutter Firebase),然后返回 LoginScreen 或 Dashboard,但出现错误。我尝试根据 FirebaseFlutter 的说明编写代码,但这些似乎已被弃用...
Widget build(BuildContext context) {
return FutureBuilder<User>(
future: FirebaseAuth.instance.currentUser,
builder: (BuildContext context, AsyncSnapshot<User> snapshot) {
if (snapshot.hasData) {
User user = snapshot.data;
/// is because there is user already logged
return Dashboard();
}
/// other way there is no user logged.
return LoginScreen();
});
}
我在代表The argument type 'User' can't be assigned to the parameter type 'Future<User>' 的第三行future: ... 中遇到错误。请有人向我解释我该怎么做,我做错了什么?
我试图在函数()=> 中传递它,但它仍然不起作用......
当前使用 firebase_auth:0.20 和 firebase_core 0.7
【问题讨论】:
-
FutureBuilder拥有未来。FirebaseAuth.instance.currentUser不是未来。FutureBuilder不仅会接受不属于未来的东西,而且如果你一开始就没有未来可以等待,那FutureBuilder就变得多余了。
标签: firebase flutter firebase-authentication