Flutter 如何在颤振中使用BlocProvider

Flutter 如何在颤振中使用BlocProvider,flutter,Flutter,在使用BlocProvider之前,我上过Bloc课程,如下所示。 我想使用blockProvider使用“Flatter_bloc 4.0.0” class SelfRentalBloc { final _srsController = StreamController<List<SelfRental>>.broadcast(); get srs => _srsController.stream; SelfRentalBloc() { ge

在使用BlocProvider之前,我上过Bloc课程,如下所示。
我想使用blockProvider使用“Flatter_bloc 4.0.0”

class SelfRentalBloc {

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

  SelfRentalBloc() {
    getSRs();
  }

   ... more code
}
但它说,自租并没有扩大集团。
我想我必须修改上面的SelfRentalBloc类。
但我不知道怎么做。你能推荐一些解决方案吗?谢谢你的阅读


)我已经阅读了关于颤振集团的文档。但是对于我的案例来说,这太难理解了,因为我的颤振级别很低。'flatter\u bloc 4.0.0'是使用库本身的block(或扩展bloc)构建的

在文档中,您可以找到如何实现自己的集团的示例:

您可以在示例中看到此类签名:
class CounterBloc扩展了Bloc

  • CounterBloc是您的bloc的名称,它扩展了“bloc”(来自库)
  • CounterEvent是一种事件类型
  • int是集团中包含的值
该事件是要触发哪个集团操作的事件标识。 该值与集团的“状态”类型相同

要使用库,请尝试下面的示例,但我认为您需要重写bloc以符合库或保留自定义实现

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(),
          },
        ));
  }
}