Flutter 在 MultiBlocProvider 中使用 BlocListener 和 BlocBuilder

Aki*_*han 1 state-management flutter bloc flutter-bloc flutter-state

在我的程序中,我有两个不同的 Blocsbloc1bloc2. 我使用MultiBlocProvider并添加这两个块。现在我想BlocListenerBlocBuilder. MultiBlocProvider因为bloc1我想要BlocBuilderand因为bloc2我想要BlocListener。我怎样才能做到这一点?

Scaffold(
      body: MultiBlocProvider(
        providers: [
          BlocProvider<GenerateFieldsBloc>(
            create: (_) => bloc1,
          ),
          BlocProvider<SubmitFieldBloc>(
            create: (_) => bloc2,
          ),
        ],
        child:() //here how can I use both BlocListener and BlocBuilder ???
     ),
);
Run Code Online (Sandbox Code Playgroud)

Ste*_*ler 5

您可以按如下方式嵌套它们:

BlocListener<SubmitFieldBloc, SubmitFieldState>(
  listener: (context, state) {
    // listen to SubmitFieldBloc
  },
  child: BlocBuilder<GenerateFieldsBloc, GenerateFieldsState>(
    builder: (context, state) {
       // build with GenerateFieldsBloc 
    }
  ),
)
Run Code Online (Sandbox Code Playgroud)