Flutter, firebase. Я хочу показать данные моей регистрационной формы, кроме адреса электронной почты и пароля, и подключиться к уникальному uid - PullRequest
0 голосов
/ 05 мая 2020

Экран регистрации При указанном методе Pressed, я считаю, что есть проблема с вызовом Firebase user = result.user

onPressed: () async {
 if(_formKey.currentState.validate()){
 setState(() => loading = true);
 dynamic result = await _auth.registerWithEmailAndPassword(email, password);
 FirebaseUser user = result.user;
 await DatabaseService(uid: user.uid).newUserInfo(
 _nameC.text,
 _cityC.text,
 _contactnoC.toString()
 );
if(result == null) {
  setState(() {
    error = 'Please supply a valid email';
    loading = false;
  });
}}},

// Бэкэнд базы данных

class DatabaseService {
final String uid;
DatabaseService ({this.uid});
final CollectionReference userdata2 = Firestore.instance.collection('UserData');
Future newUserInfo(String name, String city, String contactno) async {
  return await userdata2.document(uid).setData({
    'name' : name,
    'city' : city,
    'contactno' : contactno
  });
}}

// бэкэнд аутентификации // регистрация с адресом электронной почты и паролем

Future registerWithEmailAndPassword(String email, String password) async {
try {
  AuthResult result = await _auth.createUserWithEmailAndPassword(email: email, password: password);
  FirebaseUser user = result.user;
  DatabaseService(uid: user.uid);
  return _userFromFirebaseUser(user);
} catch (error) {
  print(error.toString());
  return null;
} }

// user.dart

class User {
    final String uid;
    User({this.uid});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...