flutter_bloc模式

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<LogBloc>(context) 获取这个bloc

 如果涉及到push 可以通过这种模式传递

Navigator.push(context, new MaterialPageRoute(

builder: (Context)=>BlocProvider(

bloc:LogBloc(),

child:HomePage1(),

)));

BlocProviderTree

可以管理多个状态

一个widget 涉及多个state 可以用它管理

BlocProviderTree(

  blocProviders: [

    BlocProvider<BlocA>(bloc: BlocA()),

    BlocProvider<BlocB>(bloc: BlocB()),

    BlocProvider<BlocC>(bloc: BlocC()),

  ],

  child: ChildA(),

)



作者:songzhaojie
链接:https://www.jianshu.com/p/176eca4f8275
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2020-08-17 14:00  客舍青  阅读(1351)  评论(0编辑  收藏  举报