【问题标题】:Class '_JsonDocumentSnapshot' has no instance method 'call'. Receiver: Instance of '_JsonDocumentSnapshot' Tried calling: call()类“_JsonDocumentSnapshot”没有实例方法“调用”。接收方:“_JsonDocumentSnapshot”实例尝试调用:call()
【发布时间】:2021-10-02 17:40:27
【问题描述】:

我尝试使用 StreamBuilder 检索 Firebase 中的数据,但出现此错误。有谁知道如何解决这个问题?非常感谢您的帮助。

这是我的代码:

Container(
                child: StreamBuilder(
              stream: FirebaseFirestore.instance
                  .collection('orderInfo')
                  .doc(user.uid + 'order')
                  .snapshots(),
              builder: (context, snapshot) {
                if (!snapshot.hasData) {
                  return Text('No data');
                } else {
                  Map<String, dynamic> doc =
                      snapshot.data() as Map<String, dynamic>;
                  return Text(doc['clLady']);
                }
              },
            ))

这是我的 Firebase 存储:

我想检索 clID,但不知何故它不起作用。

这是错误信息。

非常感谢!!!

【问题讨论】:

    标签: firebase flutter dart runtime-error stream-builder


    【解决方案1】:

    像这样去掉数据末尾的括号

                   Map<String, dynamic> doc =
                          snapshot.data as Map<String, dynamic>;
    

    snapshot.data 是一个属性而不是方法或可调用类,这就是您收到错误的原因。

    【讨论】:

      猜你喜欢
      • 2021-05-04
      • 2020-12-19
      • 1970-01-01
      • 2022-12-03
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2020-08-11
      相关资源
      最近更新 更多