![](/img/trans.png)
[英]Flutter Firestore "_CastError (Null check operator used on a null value)" Error
[英]I try to get data from firebase and give me this error _CastError (Null check operator used on a null value)
我嘗試從數組字段中獲取數據,但出現錯誤。 錯誤是:
_CastError(用於 null 值的空檢查運算符)
我不知道這段代碼的問題在哪里。
當我在此行List.from(value.data().['totkm']).forEach((element)
中刪除 null 檢查運算符(!)時,VSCode 也給我錯誤並且 VSCode 要求我進行 null 檢查操作員(。)。
List<int>totkm=[];
getdata() async {
await FirebaseFirestore.instance
.collection("TotalKM")
.doc()
.get()
.then((value) {
setState(() {
List.from(value.data()!['totkm']).forEach((element) {
totkm.add(int.parse(element));
});
});
});
}
問題是:
await FirebaseFirestore.instance
.collection("TotalKM")
.doc()
在沒有 arguments 的情況下調用doc()
會生成對新的、不存在的文檔的引用。 然后您對該引用調用get()
,它為您提供該不存在文檔的快照,因此沒有任何數據。 然后調用value.data()!
是一個錯誤,因為使用!
您告訴編譯器您知道data()
不能是null
,這是錯誤的。
要最輕松地消除錯誤,請使用?
而不是!
.
但更有可能的是,您需要將要加載的文檔的文檔 ID 傳遞到對doc()
的調用中: ...doc("idOfDocumentYouWantToLoad").get()...
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.