繁体   English   中英

Flutter/Firebase/Firestore - 注册不会将数据推送到数据库

[英]Flutter/Firebase/Firestore - Signup not pushing data to database

当他们注册我的应用程序时,我试图记录一些额外的用户数据。 我的注册过程如下所示:

    String ref = "users";
    Future<bool> signUp(
    String email,
    String password,
    String firstName,
    String lastName,
  ) async {
    try {
      _status = Status.Authenticating;
      notifyListeners();
      await    _auth
          .createUserWithEmailAndPassword(email: email, password: password);
      FirebaseFirestore.instance.collection(ref).doc(user.uid).set({
        'id': user.uid,
        'displayName': firstName.trim() + " " + lastName.trim(),
        'email': email.trim(),
        'createdat': DateTime.now()
      });
      return true;
    } catch (e) {
      _status = Status.Unauthenticated;
      notifyListeners();
    } return false;
  }

我不明白为什么当用户输入他们的数据并注册时,指定的值不会被推送到 firestore。 有人可以帮我吗? 谢谢。 这是我实现我的代码的地方:

           child: RaisedButton(
                      child: Text('Create an Account', style: TextStyle(color: Colors.white),),
                      onPressed: ()  async {
                        if (validate()) {
                          _formKey.currentState.reset();
                          user.signUp(_emailController.text, _passwordController.text, _firstNameController.text, _lastNameController.text);
                          Navigator.pushReplacement(
                              context, MaterialPageRoute(builder: (context) => Home()));
                        }
                      }),

所以,正如评论中提到的,它应该是这样的:

  await FirebaseFirestore.instance.collection(ref).doc(user.uid).set({
    'id': user.uid,
    'displayName': firstName.trim() + " " + lastName.trim(),
    'email': email.trim(),
    'createdat': DateTime.now()
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM