小编Man*_*ngs的帖子

新版本的 Firebase onAuthStateChanged -> authStateChanges 0

我正在将此代码迁移到最新版本的 firebase,目前我唯一遇到的问题是我的 auth.dart 文件中的这段代码。

@override
Stream<Users> get onAuthStateChanges {
  return _firebaseAuth.onAuthStateChanges.map(_userFromFirebase);

}
Run Code Online (Sandbox Code Playgroud)

为了迁移到最新版本,我这样写:

@override
Stream<Users> get authStateChanges {
  return _firebaseAuth.authStateChanges.map(_userFromFirebase);
}
Run Code Online (Sandbox Code Playgroud)

我不断收到此错误:

没有为类型“Function”定义方法“map”。

我似乎找不到任何有关如何正确编写它的文档。有人知道如何解决这个问题吗?

在此先感谢您的帮助

聚苯乙烯

如果您想知道为什么我要迁移此代码,我的模拟器不断抱怨 Firebase Core 插件丢失(我猜是由于 Google-services.json 文件)并且所有身份验证按钮都不起作用。单击后,我收到此“return firebase.google.cms”错误。模拟器工作正常,直到我最近对 ​​Xcode 进行更新,现在它给了我这个奇怪的错误代码,并且不会完成 flutter 运行。所以我想如果我获取了最新版本的 firebase 并更新了代码,相应地,我可以再次使用我的模拟器和/或模拟器。然后我在 authStateChanges.map 代码中遇到了上述问题,我们就在这里。

这是我的完整 auth.dart 文件供您参考:

class Users {
  final String uid;

  Users({@required this.uid});
}

abstract class AuthBase {
  Stream<Users> get authStateChanges;
  Future<Users> currentUser();
  Future<Users> signInAnonymously();
  Future<Users> signInWithEmailAndPassword(String email, String password);
  Future<Users> createUserWithEmailAndPassword(String email, String password);
  Future<Users> signInWithGoogle();
  Future<void> signOut();
}

class …
Run Code Online (Sandbox Code Playgroud)

dart firebase firebase-authentication flutter

1
推荐指数
1
解决办法
3680
查看次数

标签 统计

dart ×1

firebase ×1

firebase-authentication ×1

flutter ×1