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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM