【问题标题】:Flutter, couldn't get data from cloud firestoreFlutter,无法从 Cloud Firestore 获取数据
【发布时间】:2022-06-24 22:22:18
【问题描述】:

我尝试使用流生成器从 Cloud Firestore 获取数据,但在 snapshot.data!.docs 上出现此错误。错误:“空值检查运算符用于空值”e。但它不是一个空值云火库有数据。我该如何解决这个问题?我可以使用哪些其他方式从 Firestore 获取数据。

 body: 
          StreamBuilder<QuerySnapshot>(
              stream: firestore.collection('paymnet data').snapshots(),
              builder: (context, snapshot) {
                return snapshot.hasData?ListView(
                 children:
                   snapshot.data!.docs.map((DocumentSnapshot document){
                     Map<String,dynamic> data = document.data()! as Map<String, dynamic>;
                     return ListTile(
                       title: Text(data['amount']),
                       subtitle: Text(data['paid date']),
                     );
                   }).toList();
                 
                ):Container();
              })

【问题讨论】:

  • 请检查,firestore.collection('paymnet data').snapshots()。是集合名称拼写是否正确。我认为应该是“支付数据”。
  • 是的,有道理,但它实际上是 paymnet 数据。
  • 您可以上传正确的代码吗?您上传的代码 sn-p 似乎缺少一些代码。
  • 给你。 (codeshare.io/N3bxVJ) 我尝试了一些方法来从 firestore 获取数据所以,代码看起来不太好。
  • 从您提供的代码中我可以看到您已经定义了一个getPaymentsdata() 方法。你能检查你是否在该方法中获取数据吗?您还可以从 Firebase 控制台添加数据库的屏幕截图吗?

标签: flutter firebase dart google-cloud-firestore


【解决方案1】:

您使用!(bang) 的代码语法看起来与官方FlutterFire documentation 一致。

可以通过打印snapshot.data 的值来验证对null 的数据的快速检查。当您遍历集合时,某些特定数据可能为空。

【讨论】:

    猜你喜欢
    • 2021-02-24
    • 2023-03-15
    • 2022-09-23
    • 2019-10-29
    • 2018-12-20
    • 1970-01-01
    • 2019-07-11
    • 2020-05-10
    相关资源
    最近更新 更多