我有一个名为Schedule的Firestore文档,它是高中足球比赛的时间表。当游戏中的得分改变时,文档也会更新。
每个用户在称为watched的集合中都有自己的文档。这是用户选择观看的游戏,并且可以提供其他字段,例如关于游戏的注释。
我有一个ListView,它显示用户观看过的所有游戏(观看过的文档)。我需要列表视图在任何一个文档更新时进行更新。
我最初的想法是让一个StreamBuilder绑定到计划文档,而其子代成为另一个StreamBuilder绑定到用户观看的文档,而另一个子代为ListView。
这合适吗?缺点是,如果进度表文档中的游戏被更新,而不是用户观看的文档中的游戏之一,则列表将被不必要地重建。
另一种想法是让一个StreamBuilder绑定到用户的观看文档,并且具有ListView的子级。然后,ListView构建器创建另一个StreamBuilder,该StreamBuilder绑定到针对进度表文档的查询,以仅获得一个游戏。这意味着ListView将为监视文档中的每个项目包含一个StreamBuilder。
最好的方法是什么?