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

  • 相关阅读:
    Bootstrap按钮
    Bootstrap表单
    Bootstrap表格
    Bootstrap列表
    jq 的onchange事件
    php 跳出循环的几种方式
    php变量和字符串连接符——点
    php 从2维数组组合为四维数组分析
    mysql 删除表中记录
    mysql 聚合函数
  • 原文地址:https://www.cnblogs.com/zhang-cb/p/13517248.html
Copyright © 2011-2022 走看看