问题描述
我正在main.dart中使用BLOC架构和已注册的bloc提供商编写应用程序:
runApp(MultiBlocProvider(providers: [
BlocProvider<OrderBloc>(
create: (context) {
return OrderBloc()..add(OrderInitialEvent());
},),BlocProvider<AuthenticationBloc>(
create: (context) {
return AuthenticationBloc(userService: userService)..add(AppStarted());
},...
],child: MyApp()));
现在我需要将提供程序方法与BLOC一起使用,但不确定如何注册?可能吗?谢谢
解决方法
您可以将它们嵌套:
runApp(MultiBlocProvider(providers: [
BlocProvider<OrderBloc>(
create: (context) {
return OrderBloc()..add(OrderInitialEvent());
},),BlocProvider<AuthenticationBloc>(
create: (context) {
return AuthenticationBloc(userService: userService)..add(AppStarted());
},...
],child:
MultiProvider(
providers: [
Provider<Something>(create: (_) => Something()),Provider<SomethingElse>(create: (_) => SomethingElse()),Provider<AnotherThing>(create: (_) => AnotherThing()),],child: MyApp(),)));