【发布时间】:2021-08-08 00:32:21
【问题描述】:
一切都运行良好,但是当我升级我的云火库依赖时。我开始收到错误消息“未为类型'Object'定义运算符'[]'。”。这个错误出现在所有 4 userData.data()[""],
class BaseProvider with ChangeNotifier {
//instances of firebase
final FirebaseAuth _auth = FirebaseAuth.instance;
final CollectionReference postsCollection =
FirebaseFirestore.instance.collection("posts");
final CollectionReference userCollection =
FirebaseFirestore.instance.collection("users");
//Creating post
Future addPost(
) async {
DocumentSnapshot userData =
await userCollection.doc(_auth.currentUser.uid).get();
return await postsCollection.doc().set({
"id": _auth.currentUser.uid,
"sellername": userData.data()["name"], //Error
"sellercontact": userData.data()["phone"], //Error
"sellercity": userData.data()["city"], //Error
"sellerstate": userData.data()["state"], //Error
});
}
【问题讨论】:
-
尝试使用
print语句来检查该数据是什么。您可能必须先jsonDecode。 -
打印(userData.data());何时使用此打印我得到完整的 json 数据但是当我尝试获取特定数据时它显示错误。如果我使用此依赖项,它不会显示任何错误,并且会顺利运行 cloud_firestore 1.0.7。但是升级后错误来了 print(userData.data()["name"]);
-
如果 print(userData) 它会给出'_JsonDocumentSnapshot'的实例
-
地图
user = jsonDecode(userData.data()); print(user["name"].toString());这个也试过了还是不行
标签: firebase flutter dart google-cloud-firestore