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

海外网站施工企业的维保技术方案

海外网站,施工企业的维保技术方案,广州十大传媒公司,wordpress个人博客安装InheritedWidget和React中的context功能类似#xff0c;可以实现跨组件数据的传递。 定义一个共享数据的InheritedWidget#xff0c;需要继承自InheritedWidget 这里定义了一个of方法#xff0c;该方法通过context开始去查找祖先的HYDataWidget#xff08;可以查看源码查找…InheritedWidget和React中的context功能类似可以实现跨组件数据的传递。 定义一个共享数据的InheritedWidget需要继承自InheritedWidget 这里定义了一个of方法该方法通过context开始去查找祖先的HYDataWidget可以查看源码查找过程updateShouldNotify方法是对比新旧HYDataWidget是否需要对更新相关依赖的Widget // 数据共享 class DataWidget extends InheritedWidget { // 1、共享的数据final int counter; // 2、定义构造方法const DataWidget({super.key, required this.counter, required Widget child}): super(child: child); // 3、获取组件最近的当前InheritedWidgetstatic DataWidget? of(BuildContext context) {// 沿着Element树去找最近的CounterElement从Element中取出Widget对象return context.dependOnInheritedWidgetOfExactType();}// 4、 决定要不要回调State中的didChangeDependencies 方法overridebool updateShouldNotify(covariant DataWidget oldWidget) {// 如果返回true执行依赖当前的InheritedWidget的state中的 didChangeDependenciesreturn counter ! oldWidget.counter;} }使用定义的 DataWidget 共享数据 class _MyHomePageState extends StateMyHomePage {HomeRequest homeRequest HomeRequest();int data 100; // 定义一个共享数据变量overridevoid initState() {super.initState();Logs(_MyHomePageState, StackTrace.current);homeRequest.getMovieTopList(0, 20).then((value) {});}overrideWidget build(BuildContext context) {return Scaffold(// 脚手架appBar: AppBar(title: Text(widget.title),),body: DataWidget( // 需要在共享数据组件的父类上继承DataWidgetcounter: data, // 将数据传递给共享数据 counterchild: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: [HYShowData01(),HYShowData02(),],),)),// 定义一个 按钮点击自动增加数据floatingActionButton: FloatingActionButton(child: Icon(Icons.add),onPressed: () {setState(() {data;});},),);} }class HYShowData01 extends StatelessWidget {overrideWidget build(BuildContext context) {int? _counter DataWidget.of(context)?.counter; // 使用共享数据return Container(color: Colors.red,child: Text(共享状态${_counter}),);} }class HYShowData02 extends StatefulWidget {overrideStateHYShowData02 createState() _HYShowData02State(); }class _HYShowData02State extends StateHYShowData02 {overridevoid didChangeDependencies() {// TODO: implement didChangeDependenciessuper.didChangeDependencies();}overrideWidget build(BuildContext context) {int? _counter DataWidget.of(context)?.counter;return Container(color: Colors.blue,child: Text(共享状态${_counter}),);} }
http://www.zqtcl.cn/news/939579/

相关文章:

  • 查企业年报的网站微商网站如何做
  • 做网站要了解的事情网站地图有什么作用
  • 企业网站asp源码怎么注册公司logo
  • 一个域名能同时做2个网站吗网站建设与维护的认识
  • 微信公众号怎么做网站链接ftp网站服务器
  • 免费舆情信息网站hao123主页
  • 网站空间不足wordpress最新编辑器怎么还原
  • 电信网站备案查询系统wordpress搜插件错误
  • 忻州企业网站建设房地产 网站 设计制作
  • 重庆水务建设项目集团网站中国十大公司排行榜
  • 做网站服务器需要系统app程序定制开发
  • 宁波网站推广营销公司wordpress插件转php
  • wordpress网站生成app应用制作广告的软件
  • 网站建设多久可以建成淘宝建设网站首页
  • 东营市做网站什么是网络营销道德
  • asp评价网站开发文档安卓软件app
  • phpcms旅游网站模板辽宁建设工程信息网开标大厅我的项目中没有显示
  • 深圳网站建设方维网络建设一个网站报价
  • 北京网站建设 案例邢台微商城制作设计
  • 网站开发一般都有系统wordpress评论优化
  • 网站建设找好景科技山东关键词网络推广
  • 网科创想网站管理外贸网站推广和建站
  • 唐山企业网站模板建站动物自己做的网站
  • 旅游攻略网站开发外包网站开发公司
  • 免得做网站wordpress国内主机
  • 绍兴网站建设方案报价朗格手表网站
  • 建立自己公司网站的方法南京网站制作多少钱
  • 字形分析网站做自媒体查找素材的网站
  • 做网站建设的上市公司有哪些网站源码怎么预览
  • 怎么学做电子商务网站知果果网站谁做的