Firebase 方法';然后';isn';t为类型';用户';
我正在使用Firebase作为后端创建一个应用程序。最初代码运行正常,但在firebase更新后,我遇到了一个问题。问题是:没有为类型“User”定义方法“then”。在下面代码的摘录中,我添加了**,以指明问题所在。欢迎任何帮助Firebase 方法';然后';isn';t为类型';用户';,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我正在使用Firebase作为后端创建一个应用程序。最初代码运行正常,但在firebase更新后,我遇到了一个问题。问题是:没有为类型“User”定义方法“then”。在下面代码的摘录中,我添加了**,以指明问题所在。欢迎任何帮助 @override initState() { FirebaseAuth.instance .currentUser .**then**((currentUser) => { if (currentUser
@override
initState() {
FirebaseAuth.instance
.currentUser
.**then**((currentUser) => {
if (currentUser == null)
{Navigator.pushReplacementNamed(context, "/login")}
else
{
FirebaseFirestore.instance
.collection("voters")
.doc(currentUser.uid)
.get()
.then((DocumentSnapshot result) =>
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => HomePage(
))))
.catchError((err) => print(err))
}
})
.catchError((err) => print(err));
super.initState();
}
获取当前用户不再是一种未来。您可能在
pubspec.yaml
中增加了包的版本,而没有修改代码以反映突破性的更改
检索用户现在是同步完成的。
像使用同步代码一样检索用户,并将其传递到需要的地方
@覆盖
initState(){
User currentUser=FirebaseAuth.instance.currentUser;
if(currentUser==null)
{Navigator.pushReplacementNamed(上下文,“/login”)}
其他的
{
FirebaseFirestore.instance
.收集(“选民”)
.doc(currentUser.uid)
.get()
。然后((文档快照结果)=>
导航器。更换(
上下文
材料路线(
生成器:(上下文)=>主页(
))))
.catchError((err)=>打印(err))
}
super.initState();
}
如果仍然需要捕获错误,请将相关代码包装在try catch
中