我收到错误消息NoSuchMethodError:在null上调用了currentUser方法。

时间:2019-08-01 15:37:40

标签: firebase flutter firebase-authentication

我正在尝试检查用户是否已登录,我已经使用firebase验证了我的flutter应用,我希望用户的状态将应用重定向到登录页面或主页,但是我可以没有运行该应用程序,它在红色屏幕上显示错误,错误是:     NoSuchMethodError:方法“ currentUser”在null上被调用。     接收者:null     尝试调用:currentUser()

我看到了解决方法here 但是我不太了解

currentUser函数:

Future<String> currentUser() async {
  FirebaseUser user = await _firebaseAuth.currentUser();
  return user!= null ? user.uid : null;
}

检查身份验证状态:

void initState() {
super.initState();
  try {
    widget.auth.currentUser().then((userId) {
    setState(() {
    authStatus =
    userId == null ? AuthStatus.notsignedIn : AuthStatus.signedIn;
   });
  });
} catch (e) {}
}

1 个答案:

答案 0 :(得分:1)

该错误仅表示您的_firebaseAuth对象为空。尝试使用

FirebaseUser user = await FirebaseAuth.instance.currentUser();