我对dart / flutter不熟悉,现在正在构建一个应用程序,该应用程序可以跟踪firstore数据库中每个用户的一些数据。我有一个“用户”集合,其中包含每个用户的文档,并且用户文档中的字段之一是通过firebase_auth接收的“UID”。
话虽如此,为了确保我可以访问用户文档的最新副本,我持有一个Stream。我想以某种方式从流中的最新快照访问“UID”字段,然后对其进行一些其他操作。
反正有这样做吗?我使用/理解流不正确吗?
最佳答案
如果您只需要UID来构建其他窗口小部件,则可以简单地使用 StreamBuilder
,只要从流中发出新值(获得副本),它就会重建其子级。但是,如果您需要在任意时间访问最新的UID,请查看RxDart的 BehaviorSubject
,它提供对最新发射值(如果存在)的恒定时间同步访问。一般来说,这对于处理状态非常有帮助。
关于firebase - Firestore如何从文档快照流中的快照访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62239571/