我正在学习"flutter-firebase-crud-build-2-apps-super-easy".的Udemy课程我是第八班的学生,可以从火炉中读取数据。
我的readData()方法如下:
readData(){
DocumentReference documentReference = Firestore.instance.collection("Dishes").document(name);
documentReference.get().then((datasnapshot){
print(datasnapshot.data["name"]);
print(datasnapshot.data["description"]);
print(datasnapshot.data["price"]);
});
}返回此错误:
E/flutter ( 7077): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The method '[]' was called on null.
E/flutter ( 7077): Receiver: null
E/flutter ( 7077): Tried calling: []("name")
E/flutter ( 7077): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
E/flutter ( 7077): #1 _MyAppState.readData.<anonymous closure> (package:flutterapp/main.dart:52:30)这是我的火力基地:

我找不到这个错误的原因。帮帮我,
发布于 2020-03-18 02:12:49
试试这段代码。
readData() async {
var data = await Firestore.instance.collection("Dishes").getDocuments();
data.documents.forEach((documentSnapshot) => {
print("DATA NAME ${documentSnapshot['name']}"),
print("DATA DES ${documentSnapshot['description']}"),
print("DATA PRICE ${documentSnapshot['price']}"),
});
}发布于 2020-03-18 02:02:37
name应该是7EwzTZ907d0Fa4N2PfFR。
当Firestore找不到文档时,它返回null,所以datasnapshot.data是null。
https://stackoverflow.com/questions/60731512
复制相似问题