1

我使用 GetX 创建了 Firebase 身份验证。

这是我的带有电子邮件和密码功能的 createUser;

void createUser(String name, String email, String password) async {
try {
  UserCredential _userCredential = await _auth
      .createUserWithEmailAndPassword(email: email, password: password);

  User _yeniUser = _userCredential.user;
  await _yeniUser.updateProfile(displayName: name);
  String yeniUserID = _userCredential.user.uid; //User UİD'sini elde ettik
  await _firestore.collection("users").doc("$yeniUserID").set(
    {
      'eposta': email,
      'ad': _yeniUser.displayName,
      'saat': FieldValue.serverTimestamp(),
      'uid': yeniUserID,
      'aniVarmi': false,
    },
  ) ... //Catch things..

当我按下注册按钮时,它会创建 Firestore 集合,但'ad': _yeniUser.displayName,它始终为空。

我没有 userModel,我没有数据库服务。只是Authcontroller。

我应该怎么办?

4

2 回答 2

0

updateProfile 后尝试调用

await _yeniUser.reload();

用更新的显示名称刷新您的用户变量。

于 2021-01-30T07:42:46.710 回答
0

我假设您的 updateProfile 方法将返回用户。因此,您需要像这样再次设置您的 _yeniUser:

_yeniUser = await _yeniUser.updateProfile(displayName: name);
于 2021-01-29T08:43:36.367 回答