Flutter BLOC和提供者如何一起注册

问题描述

我正在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(),)));

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...