flutter_bloc パッケージの BlocBuilder を使用して、状態の変化に対応しています。
@override
Widget build(BuildContext context) {
return BlocBuilder<BreathalyzerBloc, BreathalyzerState>(
builder: (context, state) {
if (state is BreathalyzerConnected) {
return Center(child: Text('CONNECTED'));
}
if (state is BreathalyzerWarmingUp) {
return Center(child: Text('PREPARE TO BLOW IN ${state.countDown}'));
}
},
);
問題:複数の連続したイベントにより、連続した BreathalyzerWarmingUp 状態が生成されますが、連続するカウントダウン値は異なります (例: 3、2、1)。ただし、別の状態への実際の遷移はないため、BlocBuilder は後続の状態を無視し、UI はスタックして最初のカウントダウン値のみを表示します。
画面が次のように変化することを期待します。
PREPARE TO BLOW IN 3
PREPARE TO BLOW IN 2
PREPARE TO BLOW IN 1
取得中:
PREPARE TO BLOW IN 3
助言がありますか?