Как использовать BlocProvider во флаттере - PullRequest
0 голосов
/ 09 мая 2020

У меня был класс Blo c до использования BlocProvider, как показано ниже.
И я хочу использовать blockProvider, используя 'flutter_blo c 4.0.0'.

class SelfRentalBloc {

  final _srsController = StreamController<List<SelfRental>>.broadcast();
  get srs => _srsController.stream;

  SelfRentalBloc() {
    getSRs();
  }

   ... more code
}

Поэтому я добавил blocProvider в myApp.dart. void main () => runApp (MyApp ());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return BlocProvider(
        create: (BuildContext context) => SelfRentalBloc(),
        child: MaterialApp(
          initialRoute: '/',
          routes: {
            '/': (BuildContext context) => HomePage(),
            '/page': (BuildContext context) => Page(),
          },
        ));
  }
}

Но он говорит, что SelfRental не расширяет Blo c.
Я думаю, мне нужно изменить класс SelfRentalBlo c выше .
Но я не знаю, как это сделать. Не могли бы вы порекомендовать какое-нибудь решение? Спасибо, что прочитали.

) Я уже читал документацию по flutter_blo c. но в моем случае это слишком сложно понять из-за моего слабого трепета.

1 Ответ

0 голосов
/ 09 мая 2020

'flutter_blo c 4.0.0' создан для использования блока (или расширенного blo c) из самой библиотеки.

В документации вы можете найти пример того, как вы можете реализовать себя 're own blo c: https://pub.dev/packages/flutter_bloc# -example-tab-

Вы можете увидеть эту сигнатуру класса в примере: class CounterBloc extends Bloc<CounterEvent, int>

  • CounterBlo c - это имя вашего блога c, которое расширяет 'Blo c' (из библиотеки).
  • CounterEvent - это тип события.
  • int - это значение, содержащее в блоке c.

Событие - это событие, идентифицирующее, какое действие blo c вы хотите запустить. Это значение того же типа, что и «состояние» вашего блога c.

Чтобы использовать библиотеку, попробуйте этот пример, но я думаю, вам нужно переписать свой blo c, чтобы он соответствовал библиотеке или сохранил свою индивидуальную реализацию.

...