我正在用 Flutter 做一些实验并遇到了一些问题。基本上,我使用带有 BLoC 模式的 Flutter 和 Firestore 作为远程存储。我有这样的事情:
class HomeBloc extends Bloc<HomeEvent, HomeState> {
....
@override
Stream<HomeState> mapEventToState(HomeState state, HomeEvent event) async* {
if(event is HomeEventStartTrackingWherlos) {
Firestore.instance.collection('objects_collection')
.snapshots()
.listen((data) {
var collection = List<MyObject>();
data.documents.forEach((document) {
MyObject mo = MyObject(document["name"], document["description"]);
collection.add(mo);
});
// return HomeState.reloadedCollection(collection);
});
}}
...
}
排队:
// return HomeState.reloadedCollection(collection);
我想用对象集合返回新状态。如果我只是简单地返回新状态,那么我在StatefulWidget中的构建方法不会被调用。您有什么建议我如何在 Firestore 集合中的每次更改后并基于该重建小部件通过集合传递新状态?