Day28 Flutter—BLoC介绍(二)

MultiBlocListener

MultiBlocListener是一个Flutter小部件,它将多个BlocListener小部件合并为一个小部件。 MultiBlocListener提高了可读性并消除了嵌套多个BlocListeners的要求。通过使用MultiBlocListener可以从:

BlocListener<BlocA, BlocAState>( 
listener: (context, state) {}, 
child: BlocListener<BlocB, BlocBState>( 
listener: (context, state) {}, 
child: BlocListener<BlocC, BlocCState>( 
listener: (context, state) {}, 
child: ChildA(), 
), 
), 
)

变化为:

MultiBlocListener( 
listeners: [ 
BlocListener<BlocA, BlocAState>( 
listener: (context, state) {}, 
), 
BlocListener<BlocB, BlocBState>( 
listener: (context, state) {}, 
), 
BlocListener<BlocC, BlocCState>( 
listener: (context, state) {}, 
), 
], 
child: ChildA(), 
)

RepositoryProvider

RepositoryProvider是一个Flutter小部件,它通过RepositoryProvider.of为其子节点提供知识库。它用作依赖注入小部件,以便可以向子树中的多个窗口小部件提供知识库的单个实例。BlocProvider应该用於提供bloc,而RepositoryProvider应该只用於提供知识库。

RepositoryProvider( 
builder: (context) => RepositoryA(), 
child: ChildA(), );

也可以通过以下代码在ChildA中取回Repository实例:

RepositoryProvider.of<RepositoryA>(context)

MultiRepositoryProvider

MultiRepositoryProvider是一个Flutter小部件,可将多个RepositoryProvider小部件合并为一个小部件。MultiRepositoryProvider提高了可读性并消除了嵌套多个RepositoryProvider的要求。通过使用MultiRepositoryProvider可以从:

RepositoryProvider<RepositoryA>( 
builder: (context) => RepositoryA(), 
child: RepositoryProvider<RepositoryB>( 
builder: (context) => RepositoryB(), 
child: RepositoryProvider<RepositoryC>( 
builder: (context) => RepositoryC(), 
child: ChildA(), 
) 
) 
)

变化为:

MultiRepositoryProvider( 
providers: [ 
RepositoryProvider<RepositoryA>( 
builder: (context) => RepositoryA(), 
), 
RepositoryProvider<RepositoryB>( 
builder: (context) => RepositoryB(), 
), 
RepositoryProvider<RepositoryC>( 
builder: (context) => RepositoryC(), 
), 
], 
child: ChildA(), 
)

<<:  Day 28 同步的作用

>>:  JavaScript阵列

Tcl语言和你 SAY HELLO!!

第七天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知道...

[鼠年全马] W36 - Vue出一个旅馆预约平台(10)

转眼间来到了 Vue出旅馆预约平台 第10篇了...做的真久阿... 还好不是公司的专案, 不然绝对...

Day18 - 汇入 excel-应用篇

前言 使用者除了有汇出报表的需求外,也会有需要大量汇入的情境,汇入会更需要验证输入的资料,有可能是空...

Angular ng-template 与 ngTemplateOutlet

ngTemplateOutlet ngTemplateOutlet 这里我解释为 ng-templa...

# [Day17] 建立订单交易API_11

本节将接续上节,调整了一下request message中的ExpireDate 正确的respon...