BlocProviderTree に 3 つの BLoC があるとします。これは、これらのブロックがクラスで使用できることを意味します。そのうちの 1 つは BlocListener として使用されますが、他の 2 つの BLoC を BlocBuilder として使用する必要があります。これは、同じページで両方の状態を構築する必要があるためです。BlockListener は子ではなく子を受け入れます。助けてください!
BlockListener は子ではなく子を受け入れます。助けてください!
BlocProviderTree(
blocProviders: [
BlocProvider<EvenBloc>(bloc: _evenBloc),
BlocProvider<SumBloc>(bloc: _sumsBloc,),
BlocProvider<SpacesBloc>(bloc: _spacesBloc,),
],
child: BlocListener(
bloc: _evenBloc,
listener: (BuildContext context, EvenState state) {
if (state is NowEven) {
_sumsBloc.dispatch(LoadSums());
}
},
child: BlocBuilder<SumsEvent,SumsState>(
bloc: _programsBloc,
builder: (BuildContext context, SumsState state) {
if (state is SumsEmpty)
return Container(height: 0.0, width: 0.0,);
if (state is SumsLoading)
return Evens(
child: SpinKitDoubleBounce(
color: darkIndigo,
size: 70.0,
),
);
else if (state is SumsLoaded)
return _body( context,state.sums);
},
)
)
),
アイテムの数が偶数の場合、合計で SpaceNames が必要です。合計を正しく取得していますが、スペースは他のブロックにあります。2 つの BlocBuilder を定義するにはどうすればよいですか?