错误:“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

使用 currentUser 更新用户信息时解析错误

“T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法

如何使用 MasterKey 增加不是 currentUser 的 PFUser 分数?