zoukankan      html  css  js  c++  java
  • 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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/zhang-cb/p/13517248.html
Copyright © 2011-2022 走看看