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

c语言网站建设seo名词解释

c语言网站建设,seo名词解释,网络建设与管理专业,郑州网站建设baixingInheritedWidget和React中的context功能类似,可以实现跨组件数据的传递。 定义一个共享数据的InheritedWidget,需要继承自InheritedWidget 这里定义了一个of方法,该方法通过context开始去查找祖先的HYDataWidget(可以查看源码查找…

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 方法bool updateShouldNotify(covariant DataWidget oldWidget) {// 如果返回true:执行依赖当前的InheritedWidget的state中的  didChangeDependenciesreturn counter != oldWidget.counter;}
}

使用定义的 DataWidget 共享数据

class _MyHomePageState extends State<MyHomePage> {HomeRequest homeRequest = HomeRequest();int data = 100; // 定义一个共享数据变量void initState() {super.initState();Logs("_MyHomePageState", StackTrace.current);homeRequest.getMovieTopList(0, 20).then((value) {});}Widget 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 {Widget build(BuildContext context) {int? _counter = DataWidget.of(context)?.counter; // 使用共享数据return Container(color: Colors.red,child: Text("共享状态:${_counter}"),);}
}class HYShowData02 extends StatefulWidget {State<HYShowData02> createState() => _HYShowData02State();
}class _HYShowData02State extends State<HYShowData02> {void didChangeDependencies() {// TODO: implement didChangeDependenciessuper.didChangeDependencies();}Widget build(BuildContext context) {int? _counter = DataWidget.of(context)?.counter;return Container(color: Colors.blue,child: Text("共享状态:${_counter}"),);}
}
http://www.rdtb.cn/news/19249.html

相关文章:

  • 学习做网站难吗android优化大师
  • 中山网站建设哪家便宜百度点击器找名风
  • 现在的网站推广是怎么做的百度seo排名优化软件
  • 网站制作要学哪些福州网站关键词推广
  • 中国建设网官方seo公司排名教程
  • 杭州pc网站建设方案网站分析报告范文
  • 免费传奇网站模板站长工具高清吗
  • 北京望京企业网站建设制作网页一般多少钱
  • 青岛建设英文网站建设色目人
  • 用什么软件做网站交互效果营销app
  • 规模以上工业企业总产值广州网站优化多少钱
  • 机关网站建设制度seo网站优化流程
  • 做自己的程序设计在线测评网站市场营销方案范文
  • 1建设网站的重要性谷歌seo网站排名优化
  • 做淘宝客怎样建网站推广网站哪个好
  • 网站设计的设计方案百度一下打开网页
  • 做微网站用什么框架兰州网络推广技术
  • 优秀网页版式设计抖音排名优化
  • 中小企业网站建设济南兴田德润厉害吗北京新闻最新消息
  • 浙江省建设厅网站资质迁移百度云盘搜索引擎入口
  • 云南专业网站优化龙岗网站制作
  • 做银行设计有好的网站参考吗百度pc网页版登录入口
  • 什么叫国际互联网优化排名软件
  • 制作网站视频教程新闻软文广告
  • 电商入门谷歌seo优化公司
  • 自建网站做网上超市可行吗seo收录查询工具
  • 保定网站制作费用seocui cn
  • 惠州品牌网站建设价格关键词生成器
  • 站酷设计网站官网未上色文件重庆镇海seo整站优化价格
  • 东莞市网站建设手机如何建立网站