我正在尝试检查用户是否已登录,我已经使用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) {}
}
答案 0 :(得分:1)
该错误仅表示您的_firebaseAuth
对象为空。尝试使用
FirebaseUser user = await FirebaseAuth.instance.currentUser();