颤振:平台异常(错误,无效的文档引用。文档引用必须具有偶数个段,但<x>具有 1,null)



我的应用程序中有以下内容:

stream: Firestore.instance.collection('stores').document(currentUserUID).snapshots(),
builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
if (snapshot.hasData) {
return ListView.builder(
//do some stuff here with the data
} else {
return LoadingAnimation();
}
}
}
}

非常标准,但我收到上面列出的错误。

我已经验证了当前用户 ID 在调用此流之前填充了正确的数据。

在测试中,我发现此错误可能是由于在运行时"if (snapshot.hasData( {"显示快照中还没有数据引起的。 如果我做任何事情,比如最小化应用程序并再次重新聚焦它,所有数据都会加载。 所以它只需要重绘。

有没有办法对此进行"等待"或其他操作? 这个问题必须有一个简单的解决方法,似乎是一个简单的问题,但我只是在任何其他线程中都找不到解决方案。

任何人都对我如何在此流上进行等待或强制它在接收数据时更新有任何想法(我有点认为这是流的全部意义,但此示例证明它没有这样做(。

如果错误消息实际上引用了此代码,则意味着currentUserUID可能是一个空字符串。 这是一个非常常见的错误 - 如果你在谷歌上搜索错误消息,你会看到许多其他人犯同样的错误。

在使用currentUserUID之前打印它的值,以验证它是否包含您期望的值。

最新更新