О классе BLoC, проводящем другой класс BLoC - PullRequest
0 голосов
/ 14 июня 2019

Я хотел бы иметь BLoC в BloC.При использовании Provider Plugin это следующий код, и он работает правильно.

Some_Widget.dart

  home: MultiProvider(
    providers: [
      Provider(
        builder: (_) => LoadingBloc(),
        dispose: (_, bloc) => bloc.dispose(),
      ),
      Provider(
        builder: (context) {
          var bloc = Provider.of<LoadingBloc>(context, listen: false);
          return SomethingBloc(SomethingRepository(),bloc);
        },
        dispose: (_, bloc) => bloc.dispose(),
      ),

что-то_bloc.dart

class SomethingBloc {
  final SomethingRepository repository;
  final LoadingBloc loadingBloc;

  SomethingBloc(this.repository, this.loadingBloc) {
    fetch("flutter");
  }

  final _valueController = StreamController<SearchResultDto>();

  Stream<SearchResultDto> get value => _valueController.stream;

  void fetch(String freeWord) {
    loadingBloc.loading(true);
    var stream = repository.fetch(freeWord).whenComplete(() {
      loadingBloc.loading(false);
    }).asStream();
    _valueController.sink.addStream(stream);
  }

  void dispose() {
    _valueController.close();
  }
}

Вопрос в том, какие проблемы могут возникнуть, если в классе BLoC имеется BLoC.

1 Ответ

0 голосов
/ 14 июня 2019

Нет способа узнать возможные проблемы, если он уже работает, как ожидалось.Этот вопрос не кажется мне технической проблемой.

Если у вас есть какие-то конкретные сомнения, добавьте их в вопрос. В противном случае, просто делать предположения о возможных проблемах никому не поможет.

...