作者:andyfeifei | 来源:互联网 | 2023-10-12 18:37
flutter_bloc是一个bloc第三方库,这个库很方便的让你集成bloc模式 1,widget触发event事件 2,bloc接收event事件并作出逻辑处理3,并把逻辑处
flutter_bloc 是一个bloc第三方库,这个库很方便的让你集成bloc模式
1,widget 触发event 事件
2,bloc 接收event 事件并作出逻辑处理
3 ,并把逻辑处理结果给返回出来
4,UI展示数据
flutter_bloc 提供几个api 根据这几个API 就可以快速搭建bloc
BlocBuilder
BlocProvider
BlocProviderTree
BlocListener
BlocListenerTree
BlocBuilder
有三个属性 bloc condition builder
BlocBuilder(
bloc: ,这个添加bloc dart
condition: (previousState, currentState){ return true;},//可选默认返回true
builder: (BuildContext context, List state) {}state 返回数据
)。
BlocProvider
这个可以管理全局变量
BlocProvider(
bloc:,这个添加bloc dart 把这个bloc 传递其它字界面使用
child:LogIn(),子类
)
子widget 通过BlocProvider.of(context) 获取这个bloc
如果涉及到push 可以通过这种模式传递
Navigator.push(context, new MaterialPageRoute(
builder: (Context)=>BlocProvider(
bloc:LogBloc(),
child:HomePage1(),
)));
BlocProviderTree
可以管理多个状态
一个widget 涉及多个state 可以用它管理
BlocProviderTree(
blocProviders: [
BlocProvider(bloc: BlocA()),
BlocProvider(bloc: BlocB()),
BlocProvider(bloc: BlocC()),
],
child: ChildA(),
)
作者:songzhaojie
链接:https://www.jianshu.com/p/176eca4f8275
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。