无法从 Bloc Flutter 中听到新的价值
Posted
技术标签:
【中文标题】无法从 Bloc Flutter 中听到新的价值【英文标题】:Not able to Listen New Value From Bloc Flutter 【发布时间】:2020-03-28 07:40:09 【问题描述】:我正在使用 flutter_bloc 库来管理应用程序的状态,因为我在 bloc 类中按下不同类状态更改的按钮,但无法在 build 方法中侦听 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,
),
),
),
],
),
);
【问题讨论】:
【参考方案1】:也许你可以查看这个关于bloc listener的链接。
但只是作为你可以做的一个例子:
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();
,
);
【讨论】:
以上是关于无法从 Bloc Flutter 中听到新的价值的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 使用 BloC 模式从 API 结果中获取列表元素
Flutter Bloc A 在 Bloc B 中添加流,但此流不会通过 StreamBuilder 在 UI 中呈现
从 StreamBuilder BloC firestore Flutter 获取数据时出错