【发布时间】:2021-02-21 05:10:15
【问题描述】:
我正在尝试根据 bloc 的状态显示文本,因此我决定使用 BlocListener,因为我认为这是小部件的主要目的。我想在状态为 AuthFailed 时显示文本。
BlocListener
BlocListener<AuthBloc, AuthState>(
listener: (context, state) {
if (state is AuthFailed)
return Text(
'Oops, Invalid Credentials.',
style: TextStyle(color: Colors.red),
);
},
child: Container(),
),
问题是,当状态为 AuthFailed 时文本不会出现,但如果我改用 BlocBuilder,它就可以工作。
BlocBuilder
BlocBuilder<AuthBloc, AuthState>(
builder: (context, state) {
if (state is AuthFailed)
return Text(
'Oops, Invalid Credentials.',
style: TextStyle(color: Colors.red),
);
return Container(
width: 0,
height: 0,
);
},
),
【问题讨论】:
标签: flutter flutter-bloc