[英]How to refresh a firebase streambuilder and reduce the number of document reads
[英]Flutter & Firebase: reduce the number of reads with StreamBuilder
我正在使用 Firebase Firestore 构建排名页面,如下所示:
StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('user')
.orderBy('total_score', descending: true)
.limit(3)
.snapshots(includeMetadataChanges: false),
builder:...
一切工作几乎完美,但我只有一个问题:读数数量太高,我试图将其限制为 3,但它仍然达到一个非常高的数字,并且只有 1 个用户。
对于其他页面,我使用缓存数据,这减少了读取次数。
这在 StreamBuilder 中可能吗? 有什么建议吗?
对于StatefulWidget
stream api 将在每次 state 更改时调用。 为 stream 创建一个 state 变量,
late final myStream = FirebaseFirestore.instance
.collection('user')
.orderBy('total_score', descending: true)
.limit(3)
.snapshots(includeMetadataChanges: false);
@override
Widget build(BuildContext context) {
并使用它
StreamBuilder<QuerySnapshot>(
stream: myStream
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.