首页 > 解决方案 > 无法在 Users _userFromFirebaseUser(User user) 函数中返回 null?

问题描述

我不知道为什么 _userFromFirebaseUser 函数不允许我返回 null。不仅如此,当我传递_userFromFirebaseUsermap()函数时出现错误?

final FirebaseAuth _auth = FirebaseAuth.instance;

//user object based on FirebaseUser

Users _userFromFirebaseUser(User user){
    if (user != null){
       return Users(uid: user.uid); 
    }
    return null;
}

//auth change user stream
Stream<Users> get user {
    return _auth.authStateChanges().map(_userFromFirebaseUser);
}

标签: dartgoogle-cloud-firestorefirebase-authentication

解决方案


通过添加“?”使返回类型可以为空

Users? _userFromFirebaseUser(User user){
  if (user != null){
    return Users(uid: user.uid); 
  }
  return null;
}

  
Stream<Users?> get user {
  return _auth.authStateChanges().map(_userFromFirebaseUser);
}

推荐阅读