Firestore中的更改后,从BLoC返回更改

时间:2018-12-21 00:14:08

标签: dart flutter google-cloud-firestore bloc

我正在与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 中的 build 方法。您有什么建议吗,在Firestore集合中的每次更改之后,并基于该重建小部件,如何通过集合传递新状态?

0 个答案:

没有答案