热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flutter_bloc模式

flutter_bloc是一个bloc第三方库,这个库很方便的让你集成bloc模式  1,widget触发event事件 2,bloc接收event事件并作出逻辑处理3,并把逻辑处

flutter_bloc 是一个bloc第三方库,这个库很方便的让你集成bloc模式

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

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

Navigator.push(context, new MaterialPageRoute(

builder: (Context)=>BlocProvider(

bloc:LogBloc(),

child:HomePage1(),

)));

BlocProviderTree

可以管理多个状态

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

BlocProviderTree(

  blocProviders: [

    BlocProvider(bloc: BlocA()),

    BlocProvider(bloc: BlocB()),

    BlocProvider(bloc: BlocC()),

  ],

  child: ChildA(),

)



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


推荐阅读
  • 在 Flutter 开发过程中,开发者经常会遇到 Widget 构造函数中的可选参数 Key。对于初学者来说,理解 Key 的作用和使用场景可能是一个挑战。本文将详细探讨 Key 的概念及其应用场景,并通过实例帮助你更好地掌握这一重要工具。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍了如何在 Flutter 应用程序中使用单例模式创建一个全局唯一的数据管理类,以确保在整个应用生命周期中数据的一致性和可访问性。 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • 本文探讨了在 Flutter 应用开发中,使用 runApp(new MyApp()) 和 runApp(new MaterialApp()) 之间的主要区别,特别是它们对热重载行为的影响。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文介绍如何使用JPA Criteria API创建带有多个可选参数的动态查询方法。当某些参数为空时,这些参数不会影响最终查询结果。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 使用 NDB 提升 Node.js 应用调试体验
    本文介绍了由 Google Chrome 实验室推出的新一代 Node.js 调试工具 NDB,旨在为开发者提供更加高效和便捷的调试解决方案。 ... [详细]
author-avatar
andyfeifei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有