使用StreamBuilder代替BlocBuilder 在使用基于Bloc的状态管理时,如果不需要在widget的构建函数中使用BlocBuilder来响应状态改变,则可以使用StreamBuilder代替BlocBuilder来简化代码。通过将Bloc的状态流直接传递给StreamBuilder,就可以在Bloc状态改变时自动更新widget。
示例代码:
StreamBuilder(
stream: bloc.stateStream,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
return Text('${snapshot.data.message}');
} else {
return Container();
}
},
)