[英]Flutter firestore streambuilder with a future
我有一个简单的问题。 对我的 firestore 集合的引用是动态的。 在这段代码中,getDocumentReference() 在检查用户的 email 后给了我对文档的引用。 我使用此文档参考来获取我的快照。
Future<Stream<QuerySnapshot>> getHabits() async {
DocumentReference document = await getDocumentReference();
var snapshots = document.collection('habits').snapshots();
return snapshots;
}
如您所见,我想将此Future<Stream<QuerySnapshot>>
用于流构建器。 我怎样才能做到这一点? 我尝试过这样的事情。 但它没有将未来作为 stream 的输入
return StreamBuilder(
stream: getHabits(),
);
您可以将其包装在FutureBuilder中:
return FutureBuilder<Stream<QuerySnapshot>>(
future: getHabits(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return StreamBuilder(stream: snapshot.data); // Success
} else if (snapshot.hasError) {
return Text('${snapshot.error}'); // Error
} else {
return CircularProgressIndicator(); // Loading
}
},
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.