在我的Flutter应用程序中,如果我有两个嵌套的StreamBuilders从同一文档中读取,那么它将算作Firestore的两次读取?还是以仅计为一次读取的方式缓存?
这是我所谈论的例子。
StreamBuilder(
stream: Firestore.instance.document(path).snapshots(),
builder: (context, asnap){
//Some nested widgets...
return StreamBuilder(
stream: Firestore.instance.document(path).snapshots(),
builder: (context, asnap){
return MyWidget();
},
);
},
);
答案 0 :(得分:0)
据我所知,Firestore客户端对这些侦听器进行了重复数据删除。因此,如果第一个侦听器已经对完全相同的数据处于活动状态,则不会附加第二个侦听器。因此,您无需为两次读取支付费用,但是(可能对您的用户而言更为重要)数据将仅传输一次。