【发布时间】:2022-01-16 10:35:18
【问题描述】:
我试图在创建帐户后获取用户 uid,因此我可以在 firestore 上创建一个以 uid 作为文档 ID 的文档。问题是我只得到空值。这是我正在使用的功能:
void setUserDoc(name, lastName, email) {
FirebaseAuth auth = FirebaseAuth.instance;
String? uid = auth.currentUser?.uid;
DocumentReference<Map<String, dynamic>> usersRef =
FirebaseFirestore.instance.collection('users').doc(uid);
usersRef.set({
'name': name,
'lastName': lastName,
'email': email,
'createdAt': FieldValue.serverTimestamp(),
});
return;
}
这是小部件的一部分:
Padding(
padding: const EdgeInsets.only(top: 50, right: 50, left: 50),
child: ElevatedButton(
onPressed: () {
setState(() {
_passwordError = validatePassword(passwordController.text);
_emailError = validateEmail(emailController.text);
});
if (_passwordError == null && _emailError == null) {
authService.createUserWithEmailAndPassword(
emailController.text,
passwordController.text,
);
setUserDoc(
nameController.text,
lastNameController.text,
emailController.text,
);
Navigator.of(context).pushNamed('/');
}
},
我错过了什么?
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore firebase-authentication