Flutter:我是不是必须为我的应用程序的每个部分创建一个块?它的最佳做法是啥?
Posted
技术标签:
【中文标题】Flutter:我是不是必须为我的应用程序的每个部分创建一个块?它的最佳做法是啥?【英文标题】: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 用作设计模式的最佳实践吗?
例如,在我的主屏幕上的应用程序中,有一些部分,如畅销书和优惠...等,我是否必须为每个部分创建一个单独的块?因为我猜这样会有很多重复的代码和很多文件,但仍然不能在逻辑上使用同一个块一次完成。
【问题讨论】:
【参考方案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();
【讨论】:
以上是关于Flutter:我是不是必须为我的应用程序的每个部分创建一个块?它的最佳做法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
为我的应用程序需要与之通信的每个主机使用一个 HttpClient 实例是不是可以?