首页 > 解决方案 > 快照在 StreamBuilder 颤振中始终返回空数据

问题描述

所以,我面临这个问题:“快照”没有从 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 ->此处的驱动程序在整个代码之上工作正常,并获取驱动程序数据,例如 uid。

并且此代码始终返回“无数据”。

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

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

它甚至对这两个集合都有一个SubCollection,它称为“通知”,我使用StreamBuilder来显示客户端驱动程序的通知,它工作正常

标签: firebasefluttergoogle-cloud-firestoresnapshotstream-builder

解决方案


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


推荐阅读