【发布时间】:2021-09-05 22:43:22
【问题描述】:
所以,我有一个带有 POST 数据功能的肘位。我有三个州,DataLoading、DataError 和 DataLoaded 为我的肘。
当用户点击一个按钮时,我调用cubit中的函数。之后,我有一个 BlocListener 等待 Cubit 发出DataLoaded 状态。问题是监听器正在对状态变化做出反应。
Button(
text: 'Add',
onTap: () {
final data = _textController.text;
context.read<PostDataCubit>().post(data);
BlocListener<PostDataCubit, PostDataState>(
listener: (context, state) {
if (state is DataLoaded) {
// navigate to another route
} else if (state is DataError) {
// show error
}
},
);
}
),
我尝试在read() 调用中使用await,但没有奏效。我如何对这里的状态变化做出反应?谢谢。
【问题讨论】:
-
你的意思是当状态更新时你的监听器没有反应?
-
是的。当我发出一个状态但没有发生时,应该采取一些行动。
标签: flutter bloc flutter-bloc cubit