错误:“currentUser”不是函数或方法,无法调用[重复]
Posted
技术标签:
【中文标题】错误:“currentUser”不是函数或方法,无法调用[重复]【英文标题】:Error: 'currentUser' isn't a function or method and can't be invoked [duplicate] 【发布时间】:2021-02-23 19:02:44 【问题描述】:我刚刚在 Flutter 应用中更新了 Google Firebase 身份验证,因为我遇到了一些错误的 SDK 错误,但现在我得到了:
错误:“currentUser”不是函数或方法,无法调用。 用户 currentFirebaseUser = await FirebaseAuth.instance.currentUser();
我查看了迁移指南,了解到 currentUser() 现在通过 currentUser getter 同步。但我不确定我现在应该如何更改我的代码来解决这个问题。
static void getCurrentUserInfo() async
User currentFirebaseUser = await FirebaseAuth.instance.currentUser();
String userid = currentFirebaseUser.uid;
DatabaseReference userRef = FirebaseDatabase.instance.reference().child('users/$userid');
userRef.once().then((DataSnapshot snapshot)
if(snapshot.value != null)
);
【问题讨论】:
如果您想获取用户 ID,请尝试使用类似这样的用户 currentFirebaseUser = await FirebaseAuth.instance.currentUser.then(op => const lk = op.uid; );跨度> 【参考方案1】:这样做是这样的:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userid = user.getUid();
【讨论】:
【参考方案2】:您需要删除await
并将currentUser()
更改为currentUser
。
所以
User currentFirebaseUser = await FirebaseAuth.instance.currentUser();
变成
User currentFirebaseUser = FirebaseAuth.instance.currentUser;
来源:Verify email link and sign in 让我知道这是否有效^_^
【讨论】:
是的,它就像魅力一样工作,谢谢!!以上是关于错误:“currentUser”不是函数或方法,无法调用[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Boost(或其他库)是不是提供了一种将“无构造函数”类的名称提升为使用聚合初始化的函数对象的方法?
Firebase.instance.signOut() 未将 currentUser() 设置为 null