![](/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.