Flutter firebase_auth 与不推荐使用的代码有关(从 0.16 到 1.0)
Flutter firebase_auth hassle with deprecated code (From 0.16 to 1.0)
我 post 经过一段时间的研究,但我自己没有找到任何东西。
所以...我有一个名为 FirebaseAuthService 的包装器 class,在升级 firebase_auth 包后我遇到了一些错误。
class FirebaseAuthService {
final _firebaseAuth = FirebaseAuth.instance;
User _userFromFirebase(User user) {
return user == null ? null : User(uid: user.uid);
}
Stream<User> get onAuthStateChanged {
return _firebaseAuth.onAuthStateChanged.map(_userFromFirebase);
}
Future<User> signInAnonymously() async {
final authResult = await _firebaseAuth.signInAnonymously();
return _userFromFirebase(authResult.user);
}
Future<void> signOut() async {
return await _firebaseAuth.signOut();
}
}
FirebaseAuthService Screenshot
我需要 auth_widget_builder class
中的 FirebaseAuthService
Widget build(BuildContext context) {
print('AuthWidgetBuilder rebuild');
final authService =
Provider.of<FirebaseAuthService>(context, listen: false);
return StreamBuilder<User>(
stream: authService.onAuthStateChanged,
builder: (context, snapshot) {
print('StreamBuilder: ${snapshot.connectionState}');
AuthWidgetBuilder Screenshot
Problems Text Screenshot
我读到 onAuthStateChanged 已弃用,我应该使用 onAuthStateChanges 但仍然无法正常工作,我在另一个 post 上读到 .map() 已弃用。 _userFromFirebase(authResult.user) 上的另一个错误。我不知道从哪里抓住问题......这是我想修改和使用的项目的存储库:https://github.com/bizz84/firebase_user_avatar_flutter 如果有人设法帮助我, 感激不尽...
您应该像这样在 FirebaseAuthService
class 中调用函数 authStateChanges
。像这样:
Stream<User> get user {
return _auth.authStateChanges().map(_userFromFirebaseUser);
}
使用此代码:
Stream <UserModel.User> get user {
return _auth.authStateChanges()
.asyncMap(_userFromUser)
.where((user) => user != null)
.map((user) => user!);
}
我 post 经过一段时间的研究,但我自己没有找到任何东西。
所以...我有一个名为 FirebaseAuthService 的包装器 class,在升级 firebase_auth 包后我遇到了一些错误。
class FirebaseAuthService {
final _firebaseAuth = FirebaseAuth.instance;
User _userFromFirebase(User user) {
return user == null ? null : User(uid: user.uid);
}
Stream<User> get onAuthStateChanged {
return _firebaseAuth.onAuthStateChanged.map(_userFromFirebase);
}
Future<User> signInAnonymously() async {
final authResult = await _firebaseAuth.signInAnonymously();
return _userFromFirebase(authResult.user);
}
Future<void> signOut() async {
return await _firebaseAuth.signOut();
}
}
FirebaseAuthService Screenshot
我需要 auth_widget_builder class
中的 FirebaseAuthService Widget build(BuildContext context) {
print('AuthWidgetBuilder rebuild');
final authService =
Provider.of<FirebaseAuthService>(context, listen: false);
return StreamBuilder<User>(
stream: authService.onAuthStateChanged,
builder: (context, snapshot) {
print('StreamBuilder: ${snapshot.connectionState}');
AuthWidgetBuilder Screenshot
Problems Text Screenshot
我读到 onAuthStateChanged 已弃用,我应该使用 onAuthStateChanges 但仍然无法正常工作,我在另一个 post 上读到 .map() 已弃用。 _userFromFirebase(authResult.user) 上的另一个错误。我不知道从哪里抓住问题......这是我想修改和使用的项目的存储库:https://github.com/bizz84/firebase_user_avatar_flutter 如果有人设法帮助我, 感激不尽...
您应该像这样在 FirebaseAuthService
class 中调用函数 authStateChanges
。像这样:
Stream<User> get user {
return _auth.authStateChanges().map(_userFromFirebaseUser);
}
使用此代码:
Stream <UserModel.User> get user {
return _auth.authStateChanges()
.asyncMap(_userFromUser)
.where((user) => user != null)
.map((user) => user!);
}