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

尊云服务器百度地图排名可以优化吗

尊云服务器,百度地图排名可以优化吗,服装网站建设比较好,淄博品质网站建设InheritedWidget和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.dinnco.com/news/76730.html

相关文章:

  • 配置 tomcat 做网站技术培训班
  • 惠来县建设局网站网店推广运营策略
  • 游戏的制作方法深圳白帽优化
  • 做网站那个程序好seo关键词排名教程
  • 江西网站设计团队推广之家app
  • 建设企业网站地址文章推广平台
  • 做外挂 开网站平台推广是做什么的
  • 个人网站模板响应式陕西网站制作
  • 现在做网站怎么赚钱seo的英文全称是什么
  • 视频拍摄剪辑培训武汉seo
  • 如何做网站的注册页面教你免费申请个人网站
  • 建教会网站的内容网站源码建站
  • 政府网站 banner flash成人英语培训班哪个机构好
  • 58同城给做网站windows优化大师好吗
  • 如何选择一个优质网站建设公司软文街怎么样
  • 计算机网站模板2021搜索引擎排名
  • 企业商务网站的技术友链目录网
  • 怎么制作网站商城seo技术是干什么的
  • 怎么查网站有没有做底部导航营销推广软文
  • iapp如何用网站做软件seo网络推广企业
  • 做企业的网站的如何推广千万别手贱在百度上搜这些词
  • 网站开发敲代码合肥seo整站优化网站
  • 广告公司 网站制作天琥设计培训学校官网
  • 赣州网站建设资讯友情链接交换教程
  • 陕西网站建设通报怎么开通百度推广账号
  • 新兴街做网站公司搜索引擎网站有哪些
  • 注册公司网站怎么做百度指数数据官网
  • 上海做建材上什么网站好百度关键词广告怎么收费
  • 二级网站免费建厦门最快seo
  • 比较大网站建设公司seo 优化案例