firebase - 如何在flutter中从firebase数据库中检索数据?
问题描述
我正在尝试从 firestore 检索数据并将 val 放入 if 语句中,但是当我这样做时它给了我这个错误:
I/flutter ( 8492): Closure: () => String from Function 'toString':.
这是我的代码:
void getUserData() async {
try {
firestoreInstance
.collection('Users')
.document(usernameController.text)
.get()
.then((value) {
setState(() {
email = (value.data)['email'];
password = (value.data)['password'];
gender = (value.data)['gender'];
username = (value.data)['username'];
userType = (value.data)['userType'];
});
});
} catch (e) {
print(e.toString);
}
}
忘了提到当我打印 userType 这是一个文本时它给我 NULL。
解决方案
只需删除您的 ()
void getUserData() async {
try {
firestoreInstance
.collection('Users')
.document(usernameController.text)
.get()
.then((value) {
setState(() {
email = value.data['email'];
password = value.data['password'];
gender = value.data['gender'];
username = value.data['username'];
userType = value.data['userType'];
});
});
} catch (e) {
print(e.toString);
}
}
或像这样使用
username = value['username'];