Как вызвать функцию A-BLoC из функции B-BLoC? - PullRequest
0 голосов
/ 12 апреля 2019

Итак, как и большинство, я новичок в Flutter, Bloc и Firebase Analytics.Есть несколько способов синхронизировать блоки, заставляя одного слушать другого, но это совсем не соответствует моей ситуации, так как я хотел бы отслеживать некоторые «переменные состояния, связанные с Google Analytics».

AnalyticsBloc extends Bloc<AnalyticsEvent, AnalyticsState> {
  final FirebaseAnalytics analytics;
  final FirebaseAnalyticsObserver observer;

  @override
    FirebaseAnalyticsState get initialState => FirebaseAnalyticsState.initial();

  void setScreen(String currentScreen) {
    // sends and stores the currentScreen in Bloc State
    dispatch(SetScreenEvent(currentScreen));
  }

  void sendEvent(String eventName) {
    // uses the stored currentScreen in Bloc State
    dispatch(SendEventEvent(eventName));
  }
  ...
}
class AppBloc extends Bloc<AppEvent, AppState> {
  @override
  AppState get initialState => AppState.initial();

  void someApplicationEvent() {
    // Problem: is there any way to trigger sendEvent from this Bloc?
    sendEvent('someAppEventTriggered');
    dispatch(ResetAppEvent());
  }
}

Проблема: есть ли способ вызвать AnalyticsBloc.sendEvent из AppBloc?

Или я должен просто оформить его по-другому?

...