我是 Flutter 的新手。我得到了这个 方法 'then' 没有为类型 'User' 定义。 对于我的代码。
class _LogoutState extends State<Logout> {
String uid = '';
@override
void initState() {
uid = '';
FirebaseAuth.instance.currentUser.*then*((val) { **The error is here
setState(() {
this.uid = val.uid;
});
}).catchError((e) {
print(e);
});
super.initState();
}
有人可以帮我解决这个问题吗?非常感谢。
答案 0 :(得分:0)
发生此错误是因为它不是异步函数。
FirebaseAuth.instance.currentUser 是一个用户类型获取器,所以你可以做的是这个。
class _LogoutState extends State<Logout> {
String uid = '';
FirebaseAuth auth = FirebaseAuth.instance;
@override
void initState() {
setUid();
super.initState();
}
void setUid() {
if (auth.currentUser != null) {
setState(() {
this.uid = auth.currentUser.uid;
});
}
}
}