当前位置: 首页 > news >正文

源代码管理网站全国失信人名单查询

源代码管理网站,全国失信人名单查询,wordpress最新评论样式,cc wordpressflutter中一切皆为Widget#xff0c;因此在我们开发中#xff0c;往往业务和UI逻辑写在一起#xff0c;这样不利于代码维护#xff0c;因此状态管理框架久诞生了#xff0c;这篇就开始讲一讲Bloc。 对于Bloc库有两个#xff0c;如下图#xff1a; flutter_bloc其实是对…flutter中一切皆为Widget因此在我们开发中往往业务和UI逻辑写在一起这样不利于代码维护因此状态管理框架久诞生了这篇就开始讲一讲Bloc。 对于Bloc库有两个如下图 flutter_bloc其实是对bloc的进一步封装flutter_bloc引入了bloc库和provider库是对bloc的进一步延伸。 bloc官方文档https://bloclibrary.dev/#/zh-cn/coreconcepts 一.Bloc介绍 BLoC设计模式BLoC模式的核心是Sink和Stream它们用于处理输入和输出。通常你会创建一个BLoC类该类接收输入流并根据输入产生输出流。然后UI组件订阅输出流以接收状态更新并将用户操作发送到输入流。 Bloc有两种模式 Bloc模式该模式划分四层结构 bloc逻辑层 state数据层 event所有的交互事件 view页面 Cubit模式该模式划分了三层结构 cubit逻辑层 state数据层 view页面 Bloc模式和Cubit模式区别 复杂度 BLoCBLoC通常用于管理更复杂的业务逻辑和状态。它可以处理多个事件和多个状态适用于大型、复杂的应用程序。 CubitCubit的设计更简单适用于处理较简单的状态和事件。它更适合于小型和中型应用程序以及对状态管理模式不太熟悉的开发者。 事件和状态管理 BLoC在BLoC中事件和状态是分开管理的你需要自己编写事件和状态的类并在BLoC中进行映射。这使得BLoC更加灵活但也更加复杂。 CubitCubit将事件和状态合并到一个类中称为Cubit类。这使得代码更加简洁但在处理复杂的事件和状态时可能会变得混乱。 异步支持 BLoCBLoC天生支持异步操作可以轻松处理异步任务例如网络请求。这是因为BLoC的mapEventToState方法可以返回Stream。 CubitCubit也支持异步操作但需要使用Emit函数来发射新的状态。 二.flutter_bloc简单使用 导入库 flutter_bloc: ^8.1.3这是一个插件可选择使用简化模版代码生成。安装flutter_bloc插件 使用案例计数器 import package:flutter_bloc/flutter_bloc.dart;// 定义事件 enum CounterEvent { increment, decrement }class CounterBloc extends BlocCounterEvent, int {CounterBloc() : super(0);overrideStreamint mapEventToState(CounterEvent event) async* {switch (event) {case CounterEvent.increment:yield state 1;break;case CounterEvent.decrement:yield state - 1;break;}} } 在页面中使用 Bloc import package:flutter/material.dart; import package:flutter_bloc/flutter_bloc.dart;class CounterPage extends StatelessWidget {overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(Counter App),),body: BlocProvider(create: (context) CounterBloc(),child: CounterView(),),);} }class CounterView extends StatelessWidget {overrideWidget build(BuildContext context) {final counterBloc BlocProvider.ofCounterBloc(context);return Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: [BlocBuilderCounterBloc, int(builder: (context, count) {return Text(Count: $count, style: TextStyle(fontSize: 24));},),SizedBox(height: 16),Row(mainAxisAlignment: MainAxisAlignment.center,children: [FloatingActionButton(onPressed: () {counterBloc.add(CounterEvent.increment);},child: Icon(Icons.add),),SizedBox(width: 16),FloatingActionButton(onPressed: () {counterBloc.add(CounterEvent.decrement);},child: Icon(Icons.remove),),],),],),);} }三.各种小部件 BlocBuilder BlocBuilderBlocA, BlocAState(builder: (context, state) {// return widget here based on BlocAs state} )BlocBuilder是一个 Flutter 小部件需要一个bloc和 一个builder函数。BlocBuilder处理构建小部件以响应新状态。BlocBuilder与 非常相似StreamBuilder但具有更简单的 API以减少所需的样板代码量。该builder函数可能会被多次调用并且应该是一个纯函数它返回一个小部件以响应状态。 BlocSelector BlocSelectorBlocA, BlocAState, SelectedState(selector: (state) {// return selected state based on the provided state.},builder: (context, state) {// return widget here based on the selected state.}, )BlocSelector是一个 Flutter 小部件它类似于BlocBuilder但允许开发人员通过基于当前块状态选择新值来过滤更新。如果所选值不更改则会阻止不必要的构建。所选值必须是不可变的以便BlocSelector准确确定是否builder应该再次调用。 BlocListener BlocListenerBlocA, BlocAState(listener: (context, state) {// do stuff here based on BlocAs state},child: Container(), )BlocListener是一个 Flutter 小部件它采用BlocWidgetListener和 一个可选参数bloc并调用listener来响应块中的状态变化。它应该用于每次状态更改需要发生一次的功能例如导航、显示 a SnackBar、显示 aDialog等…
http://wiki.neutronadmin.com/news/80514/

相关文章:

  • 网站加载特效网站开发实训报告
  • 陕西网站建设排名大门户wordpress主题破解版
  • 智慧团建网站注册登录入口品牌创意型网站开发
  • 电子商务作业做网站优化一个网站可以做多少关键词
  • lamp 网站建设论文长春建设网站
  • 多人运动免费正能量网站链接文章写作网站
  • 青岛机关建设网站客户管理软件单机版
  • 简单网站建设规划方案商城站
  • jsp网站开发源码企业宣传片汇报片拍摄
  • 太仓苏州网站建设青岛装修装饰公司网站建设
  • 做网站域名怎么选有利于seoapp 网站 同时做
  • 响应式 网站建设创建电子商务网站的7个步骤
  • wordpress游戏网站模板企业展厅建设计划书
  • 庆阳定制网站网站的后期维护自己怎么做
  • 工程建设网站自己电脑怎样做网站
  • 用服务器ip做网站页面简单响应式网站设计代码
  • 个人网站开发可行性报告网站seo诊断湖南岚鸿
  • 苏州高端模板建站广东省监理建设协会网站
  • 做一个网站的基本步骤强大的网站
  • 深圳教育网站设计公司深圳管控最新消息
  • 建站服务网络公司东丽做网站
  • 手机网站图片锚链接怎么做网络营销效果评估的作用有哪些
  • 游戏软件网站开发网址一键生成app免费
  • 站外推广营销方案wordpress清除所有评论
  • 网站建设及服务合同apache fastcgi wordpress
  • 做网站做手机站还是自适应站自己怎么做网站网页
  • 禁止拿我们的网站做宣传青岛易龙网站建设
  • 烟台h5网站制作公司wordpress最常用水印
  • 如何创建设计个人网站seo外链的常见措施
  • 登录功能网站怎么做织梦网站制作费用