Невозможно услышать новую ценность от Bloc Flutter

Я использую библиотеку flutter_bloc для управления состоянием приложения, когда я нажимаю кнопку в другом классе, состояние изменяется в классе блока, но не могу прослушивать BlocProvider в методе сборки.

BlocBuilder<AppBarBloc, bool>(
          builder: (context, isEnabled) {
            print('state detected');
            return Container();
          },)

//in main.dart were providing the Blocs


MultiBlocProvider(
      providers: [
        BlocProvider<PagesBloc>(
          builder: (BuildContext context) => PagesBloc(),
        ),
        BlocProvider<AppBarBloc>(
          builder: (BuildContext context) => AppBarBloc(),
        ),
      ],
      child: Column(
        children: <Widget>[
          Expanded(
            child: MaterialApp(
              title: 'Flutter Demo',
              initialRoute: '/',
              onGenerateRoute: RouteGenerator.generateRoute,
              theme: ThemeData(
                primarySwatch: Colors.blue,
              ),
            ),
          ),
        ],
      ),
    );

person Atiq Ur Rehman    schedule 03.12.2019    source источник


Ответы (1)


Возможно, вы можете проверить эту ссылку о слушателе блока.

Но просто в качестве примера того, что вы можете сделать:

BlocBuilder<CustomerRegisterBloc, CustomerRegisterState>
      buildCustomerRegisterOnState() {
    return BlocBuilder<CustomerRegisterBloc, CustomerRegisterState>(
      builder: (context, state) {
        if (state is InitialCustomerRegisterState) {
          return PersonalDataForm();
        }
        if (state is PasswordCustomerRegisterState) {}
        if (state is PaymentFormCustomerRegisterState) {}
        if (state is TermsCustomerRegisterState) {}
        return Container();
      },
    );
  }
person Alexander Cavalheiro Becker    schedule 03.12.2019