【问题标题】:Flutter: Do I have to create a bloc for each part on my app? What it the best practices?Flutter:我是否必须为我的应用程序的每个部分创建一个块?它的最佳做法是什么?
【发布时间】:2020-11-18 09:11:08
【问题描述】:
我正在开发一个电子商务移动应用程序,使用带有 Bloc 作为设计模式的 Flutter 和用于简化事情的 flutter_bloc 包。
我的问题是:我是否必须为我的应用程序的每个部分创建一个块?这是将 BLOC 用作设计模式的最佳实践吗?
例如,在我的主屏幕上的应用程序中,有一些部分,如畅销书和优惠...等,我是否必须为每个部分创建一个单独的块?因为我猜这样会有很多重复的代码和很多文件,但仍然不能在逻辑上使用同一个块一次完成。
【问题讨论】:
标签:
flutter
dart
design-patterns
flutter-dependencies
bloc
【解决方案1】:
你们有来自 api 的卖家吗?
如果你这样做,你可以为所有这些人使用一个集团
.....
你必须说的状态
class SellerInfoLoaded extends SellerState {
final List<sellerInfoModel> bestsellers;
final List<sellerInfoModel> badsellers;
OrderLoaded({ @required this.bestsellers, @required this.badsellers,});
@override
List<Object> get props => [bestsellers,badsellers];
}
那么你必须说在集团中
if (event is fetchseller) {
yield SellerLoading();
try {
var sellers = await _sellerApi.getsellerInfoList();
var bestsellers= sellers
.where((element) => element.status == 'goodsellers')
.toList();
var badsellers= sellers
.where((element) => element.status == 'badsellers')
.toList();
yield SellerInfoLoaded (
badsellers: badsellers,
bestsellers:bestsellers ,);
} catch (e) {
throw Exception();
}
}