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

  • 相关阅读:
    DLink无线路由器做交换机配置
    解决超过两小时的问题记录
    SIP学习之旅【资料收集篇】

    从google code里面获取代码的方法
    NSString表示的时间转为time_t
    C语言中 时间日期格式化符号 详解
    (转)time_t的定义
    (分享)简单圆角UITextView
    viewDidUnload释疑
  • 原文地址:https://www.cnblogs.com/zhang-cb/p/13517248.html
Copyright © 2011-2022 走看看