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

无锡制作网站公司简介wordpress主题乱码

无锡制作网站公司简介,wordpress主题乱码,软件开发外包能学到技术吗,网页怎么制作轮播图片小事情决定了你的熟练程度,这些小细节的有趣之处在于它们的丰富性。您将在代码库中的数百个位置遇到 onTap 事件。增强它们可以对代码的可维护性和最终用户体验产生重大的积极影响。 onTap 就是这样一个微小但丰富的东西——我们在每个屏幕上都使用它。这纯粹是关于…

Photo by cottonbro studio: https://www.pexels.com/photo/liking-a-photo-on-instagram-5052877/

小事情决定了你的熟练程度,这些小细节的有趣之处在于它们的丰富性。您将在代码库中的数百个位置遇到 onTap 事件。增强它们可以对代码的可维护性和最终用户体验产生重大的积极影响。

onTap 就是这样一个微小但丰富的东西——我们在每个屏幕上都使用它。这纯粹是关于那些 onTap 事件:该做和不该做。

规则 1:小部件不应实现 onTap 逻辑

顾名思义,小部件是在屏幕上绘制的一块 UI,它应该对业务逻辑一无所知。如果需要,它可以将事件传递给其父级。做到这一点的最佳方法是使用函数作为构造函数参数。

要点:不要在小部件内创建匿名函数来编写业务逻辑。相反,甚至可以将 onTap 传递到小部件之外,并让父级处理它。

// DON'Tclass MyWidget extends StatelessWidget {Widget build(BuildContext context) => GestureDetector(onTap: () {debugPrint('MyWidget onTap called');fetchFromServer();},child: Container(width: 100,height: 100,color: Colors.orange,),);
}
// DOclass MyWidget extends StatelessWidget {const MyWidget({this.onTap});final void Function()? onTap;Widget build(BuildContext context) => GestureDetector(onTap: onTap,child: Container(width: 100,height: 100,color: Colors.orange,),);
}

规则 2:onTap 函数应该可为 null

作为 UI 的一部分,小部件应该是可重用的。不同的用例可能需要也可能不需要其 onTap 功能。因为它存在的主要原因是在屏幕上绘制而不是向其父级或控制器发送事件,所以它应该能够在有或没有 onTap 事件的情况下存在。

要点:使来自小部件的所有事件函数都可以为 null。

// DON'Tclass MyWidget extends StatelessWidget {const MyWidget({required this.onTap});final void Function() onTap;Widget build(BuildContext context) => GestureDetector(onTap: onTap,child: Container(...),);
}
// DOclass MyWidget extends StatelessWidget {const MyWidget({this.onTap});final void Function()? onTap;Widget build(BuildContext context) => GestureDetector(onTap: onTap,child: Container(...),);
}

规则 3:UI 必须对逻辑一无所知,即使是指示性意义上的也不行

即使在使用最佳实践之后,一个常见的错误是命名指示业务逻辑的 UI 事件函数。银行应用程序中的小部件应该不知道它属于银行应用程序,并且只有足够的数据来绘制它自己和它的孩子。换句话说,一个小部件应该是美丽而愚蠢的。

要点:命名 UI 事件函数以指示事件,而不是指示底层业务逻辑。将这样的函数命名为 onTapRegisterButton()register() 更好。

// DON'Tclass MyScreen extends StatelessWidget {...Widget build(BuildContext context) => Scaffold(body: MyWidget(onTap: controller.fetchData,););
}
// DOclass MyScreen extends StatelessWidget {...Widget build(BuildContext context) => Scaffold(body: MyWidget(onTap: controller.onTapMyWidget,););
}class MyScreenController {...void onTapMyWidget() {_fetchData()}void _fetchData() {...}}

规则 4:尽可能传递模型

这一点不仅限于 UI,也适用于所有函数。每当您需要传递一些数据作为参数时,请尽量传递整个模型,而不仅仅是一个 ID 或名称。这是一个很好的做法,可以在将来业务逻辑扩展或更改时尽量减少代码更改。

要点:将模型作为参数而不是 ID 传递给函数。

// DON'Tvoid onTapMyWidget(int subjectId) {...
}
// DOvoid onTapMyWidget(Subject subject) {...
}

规则 5:始终指定 HitTestBehavior

使用 GestureDetector 进行点击时,不要忘记将 behavior 添加到您的小部件中。此属性指定点击(点击)如何传播到子窗口小部件。在大多数情况下,您将使用 HitTestBehavior.opaque ,但我建议您应该查看 flutter.dev 上的简短描述以了解情况。

要点:通过指定小部件的点击行为来绝对控制小部件的子部件。

class MyWidget extends StatelessWidget {...Widget build(BuildContext context) => GestureDetector(onTap: onTap,behavior: HitTestBehavior.opaque,child: Container(...),);
}

原文:https://chtgupta.medium.com/beyond-the-basics-5-rules-for-ontap-events-in-flutter-to-outshine-others-e5ab0fa8622

http://www.yayakq.cn/news/61852/

相关文章:

  • 上海网站建设 网站开百中搜优化软件
  • 太原网站制作在线银河星宇 网站建设
  • 做网站要wordpress搜索插件
  • 网站建设捌金手指花总四公司网站不备案和备案有什么区别
  • 厦门网站建设 模板建站邢台今时讯
  • 企业网站建设方案如何网络营销方案案例
  • 咨询企业网站模板下载京东商城
  • 上海专业网站建设信息提升学历官网
  • 西安o2o网站设计公司在线设计网站源码
  • 基础型网站价格免费照片的网站模板免费下载
  • 农业网站建设招标书广告制做公司资质
  • 科技企业网站源码下载公司网站建设内容
  • 石家庄网站设计制作服务公司网站推广是做什么
  • 网站后台管理系统怎么用网站建设推广小王
  • 有什么做美食的视频网站百度seo点击排名优化
  • 德国购物网站大全贺贵江seo教程
  • 企业网站建设费怎么核算网页设计师中级证书
  • 相城专业的网站建设彩票的网站怎么做
  • 临海市住房与城乡建设规划局 网站查询网域名解析
  • 东莞企业网站建设价格福州市官网
  • 怎么建立一个网站能够与讯飞云对话上海市建设执业注册中心网站
  • 怎样在手机上建立自己的网站临夏州建设网站
  • 青岛开发区网站建设公司请人开发一个小程序要多少钱
  • 做餐饮酒店网站网站建设公司方案
  • vue 做门户网站建设中专网站首页
  • 国内最最早做虚拟货币的网站广告点击量多少钱一个点击
  • 南京市建设档案馆网站协会宣传网站开发方案
  • 石家庄网站建设今天改网名浙江省工程建设管理协会网站
  • 如何查看网站是否被黑住房和城乡建设部网站现行规范
  • win2003搭建wordpresswordpress国内优化 墙