如何在颤振中使用 BlocProvider
Posted
技术标签:
【中文标题】如何在颤振中使用 BlocProvider【英文标题】:How to use BlocProvider in flutter 【发布时间】:2020-08-25 02:46:00 【问题描述】:在使用 BlocProvider 之前,我有 Bloc 类,如下所示。 我想通过'flutter_bloc 4.0.0'来使用blockProvider。
class SelfRentalBloc
final _srsController = StreamController<List<SelfRental>>.broadcast();
get srs => _srsController.stream;
SelfRentalBloc()
getSRs();
... more code
所以我在 myApp.dart 中添加了 blocProvider。 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 不扩展 Bloc。 我想我必须修改上面的 SelfRentalBloc 类。 但我不知道怎么做。你能推荐一些解决方案吗?感谢您阅读。
) 我已经阅读了 flutter_bloc 的文档。但是由于我的低级颤动,对于我的情况来说太难理解了。
【问题讨论】:
【参考方案1】:'flutter_bloc 4.0.0' 被构建为使用库本身的块(或扩展块)。
在文档中,您可以找到如何实现自己的 bloc 的示例:https://pub.dev/packages/flutter_bloc#-example-tab-
您可以在示例中看到此类签名:
class CounterBloc extends Bloc<CounterEvent, int>
事件是您要触发哪个集团行动的事件标识。 该值与您所在集团的“状态”类型相同。
要使用该库,请尝试该示例,但我认为您需要重写您的 bloc 以符合该库或保留您的自定义实现。
【讨论】:
以上是关于如何在颤振中使用 BlocProvider的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter App 中正确使用 BlocListener 和 BlocProvider
BlocProvider.value 如何与添加的事件一起使用