Я хочу, чтобы значение uid превысило, но когда я использую _auth.user.toString () , он возвращает экземпляр _MapStream вместо uid, я застрял здесь, новичок в флаттере
somefile.dart
Future<void> verifyPhone(phoneNo) async {
final PhoneVerificationCompleted verified = (AuthCredential authResult) {
_auth.signInWithOTP(smsCode, verificationId);
print(phoneNo);
//print uid value over here
print(_auth.user.toString());
};
somefile2.dart
User _userFromFireBaseUser(FirebaseUser user){
return user != null ? User(uid: user.uid) : null;
}
Stream<User> get user{
return _auth.onAuthStateChanged.map(_userFromFireBaseUser);
// .map((FirebaseUser user) => _userFromFireBaseUser(user));
}
Future signInWithOTP(smsCode, verId) async {
try{
AuthCredential authCreds = PhoneAuthProvider.getCredential(
verificationId: verId, smsCode: smsCode);
AuthResult result = await _auth.signInWithCredential(authCreds);
FirebaseUser user = result.user;
return _userFromFireBaseUser(user);
}
catch(e){
print(e.toString());
return null;
}
}
user.dart
class User{
final String uid;
User({this.uid});
}