BlocStateBuilder<T extends Bloc<BlocEvent, BlocState>> constructor

BlocStateBuilder<T extends Bloc<BlocEvent, BlocState>>({
  1. required List<BlocStateBuilderBinder<BlocState>> stateBinders,
  2. T? bloc,
})

Implementation

BlocStateBuilder({required List<BlocStateBuilderBinder> stateBinders, T? bloc})
    : super(
        bloc: bloc,
        buildWhen: (previous, current) => stateBinders.where((element) => element.isActive(current)).isNotEmpty,
        builder: (context, state) {
          if (stateBinders.isEmpty) return Container();
          var activeBinders = stateBinders.where((element) => element.isActive(state));
          if (activeBinders.isEmpty) return Container();
          return activeBinders.first.build(context, state);
        },
      );