首页 > 解决方案 > Firestore 如何从文档快照流中的快照访问值

问题描述

我是 dart/flutter 的新手,现在正在构建一个应用程序,用于跟踪 firstore 数据库中每个用户的一些数据。我有一个“用户”集合,其中包含每个用户的文档,用户文档中的一个字段是通过 firebase_auth 接收的“UID”。

话虽如此,为了确保我可以访问用户文档的最新副本,我持有一个 Stream。我想以某种方式从流中的最新快照访问“UID”字段,然后对其进行一些其他操作。

有没有办法做到这一点?我是否错误地使用/理解流?

标签: firebaseflutterdartgoogle-cloud-firestoredart-stream

解决方案


如果您只需要 UID 来构建其他小部件,您可以简单地使用 a StreamBuilder,只要从流中发出新值(您会得到一个副本),它将重建其子级。但是,如果您需要在某个任意时间点访问最新的 UID,请查看 RxDart BehaviorSubject,它提供对最新发出的值(如果存在)的恒定时间同步访问。这对于处理一般状态非常有帮助。


推荐阅读