我正在尝试检查用户是否已登录,我已使用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();