【问题标题】:snapshot returns always empty data in StreamBuilder fluter快照在 StreamBuilder 颤动中始终返回空数据
【发布时间】:2021-08-23 12:13:07
【问题描述】:

所以,我遇到了这个问题:'snapshot' 没有从 Flutter 的 StreamBuilder 中的 Firestore 获取任何数据。$

代码如下:

StreamBuilder<Driver>(
  initialData: null,
  stream: DatabaseServices(uid: driver.uid).driverData,
  builder: (streamContext, snapshot) {
    print(driver.uid);
    if (snapshot.hasData) {
      Driver currentDriver = snapshot.data;
      print(currentDriver.fullName);
      print(currentDriver.email);
    } else {
      print('no data');
    }
  }
)

注意: stream: DatabaseServices(uid: driver.uid).driverData -> driver 这里可以在整个代码之上正常工作,并获取驱动程序数据,例如 uid。

而且这段代码总是返回'no data'。

这里奇怪的是我在另一个屏幕上使用相同的代码(与另一种用户 -> 客户端),它工作正常,它正确获取数据

在 Firestore 中,我有 2 个集合,DriverClients,属性几乎相同。

它甚至有一个 SubCollection 用于两个集合,它称为“Notification”,我使用 StreamBuilder 来显示通知对于 ClientDriver它都可以正常工作

【问题讨论】:

  • 如果您在其他地方使用相同的代码并且它按预期工作,听起来问题来自上下文(小部件上方的内容)。

标签: firebase flutter google-cloud-firestore snapshot stream-builder


【解决方案1】:

问题解决了,问题出在我用其他集合(客户端)中使用的错误名称调用它的某些属性中,我忘了更改它。

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 2020-10-16
    • 2021-06-21
    • 1970-01-01
    • 2020-06-24
    • 2021-08-08
    • 2021-07-01
    • 2023-02-11
    • 1970-01-01
    相关资源
    最近更新 更多