Вернуть изменения из BLoC после изменений в Firestore - PullRequest
0 голосов
/ 21 декабря 2018

Я проводил некоторые эксперименты с Флаттером и столкнулся с некоторой проблемой.В основном я использую Flutter с шаблоном BLoC и 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);

Я хочу вернуть новое состояние с коллекцией объектов.Если я просто верну новое состояние, то мой build метод в StatefulWidget не будет вызван.Есть ли у вас какие-либо предложения, как я могу передать новое состояние с коллекцией после каждого изменения в коллекции Firestore и на основе этого виджета перестроения?

...