Firebase 方法';然后';isn';t为类型';用户';

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

我正在使用Firebase作为后端创建一个应用程序。最初代码运行正常,但在firebase更新后,我遇到了一个问题。问题是:没有为类型“User”定义方法“then”。在下面代码的摘录中,我添加了**,以指明问题所在。欢迎任何帮助

@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