美文网首页
Flutter之Bloc原理

Flutter之Bloc原理

作者: gczxbb | 来源:发表于2020-01-19 19:48 被阅读0次

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视图和执行其他状态改变时使用。


任重而道远

相关文章

网友评论

      本文标题:Flutter之Bloc原理

      本文链接:https://www.haomeiwen.com/subject/tqhioctx.html