![](/img/trans.png)
[英]Error occurs when trying to validate form : unhandled exception:Null check operator used on null value
[英]Getting "Unhandled Exception: Null check operator used on a null value" while getting data from firestore database
大家好,我正在從事 flutter 項目,我正在從 firestore 數據庫獲取用戶信息,但是當我獲取該信息時,它會拋出異常
錯誤:
E/flutter (18952): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value
E/flutter (18952): #0 _ProfileState.getData (package:recipedia/Tabs/profile.dart:30:86)
E/flutter (18952): <asynchronous suspension>
我的代碼:
Future<void> getData() async {
emailFromPrefs = (await SharedPreference().getCred('email'))!;
nameFromDatabase = (await UserModel().getUser(emailFromPrefs, 'name'))!;
setState(() {
name = nameFromDatabase;
email = emailFromPrefs;
});
}
我的用戶模型 Class 獲取數據 function:
Future<String?> getUser(String email, String data) async {
try {
CollectionReference users =
FirebaseFirestore.instance.collection('users');
final snapshot = await users.doc(email!).get();
final data = snapshot.data() as Map<String, dynamic>;
return data['$data'];
} catch (e) {
return 'Error fetching user';
}
}
而不是使用!
嘗試先進行 null 檢查。
Future<void> getData() async {
final mEmail = await SharedPreference().getCred('email');
if(mEmail==null){
debugPrint("Got null on email");
return;}
emailFromPrefs = mEmail;
final mName = await UserModel().getUser(emailFromPrefs, 'name');
if(mName ==null){
debugPrint("Got null on name");
return;
}
nameFromDatabase = mName;
setState(() {
name = nameFromDatabase;
email = emailFromPrefs;
});
}
users.doc(email.).get()
上的getUser
也是如此。 try-catch 應該處理這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.