bloc核心库
Events
States
Transitions
Streams
Blocs
BlocDelegate
flutter_bloc库
Flutter Widgets
1,BlocBuilder
它是一个Flutter Widget,需要Bloc和builder()参数,关联State,根据每一种State构建Widget,builder()方法,返回Widget。
BlocBuilder<BlocA, BlocAState>(
bloc: blocA
builder: (context, state) {
// return widget here based on BlocA's state
}
)
2,BlocProvider
它是一个Flutter Widget,通过BlocProvider.of<T>(context)
,向子视图提供bloc对象。
BlocProvider(
create: (BuildContext context) => BlocA(),
child: ChildA(),
);
create()方法,返回Bloc,单例bloc提供给复杂Widget树。在子视图中,通过BlocProvider.of<BlocA>(context)
获取bloc对象。
MutiBlocProvider,向子视图提供多个Bloc。
3,BlocListener
Flutter Widget,根据State状态监听,listener,如导航,SnackBar,Dialog等,除初始状态,其他状态listener都可以监听。
和builder的区别,方法void,不需要返回Widget。condition,前后State比较。
MultiBlocListener,多个Bloc状态监听。
4,BlocConsumer
暴漏builder和listener的方法,根据状态实现Widget和监听,在同时需要rebuild视图和执行其他状态改变时使用。
任重而道远