我正在尝试检查用户是否已登录,我已使用FireBase验证了我的flutter应用程序,我希望用户的状态将应用程序重定向到登录页或主页,但我无法运行该应用程序,它在红色屏幕上显示错误,错误为:
NoSuchMethodError:在空值上调用了方法“currentUser”。
收件人:空
尝试调用: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) {}
}

最佳答案

该错误仅意味着您的_firebaseAuth对象为空。尝试使用

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

10-05 21:20
查看更多