firebase - 快照在 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 个集合,Driver和Clients,它们的属性几乎相同。
它甚至对这两个集合都有一个SubCollection,它称为“通知”,我使用StreamBuilder来显示客户端和驱动程序的通知,它工作正常。
解决方案
问题解决了,问题出在我用另一个集合(客户端)中使用的错误名称调用它的某个属性中,我忘了更改它。
推荐阅读
- python-requests - 将 verify=False 传递给 post 时出现 ValueError 异常
- mysql - 如何将查询中的常量值列添加到另一个查询结果中?
- javascript - 从本地存储中获取星级和数据
- python - Python程序在运行时无法识别全局变量
- amazon-cloudwatch - 如何在 AWS Cloud Watch Logs Insights 中运行分组
- winapi - 更改按钮的关键事件行为
- python - 在 Anaconda 上安装 Python 包 mca
- javascript - 如何在three.js中使用Matrix4来解决我的旋转加速问题
- react-admin - 如何将自定义主题应用于 React Admin 中的自定义路由?
- kotlin - @SerialInfo - 如何使用 Kotlinx 序列化管理用户定义的串行注释?