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

手机如何做任务赚钱的网站网络营销技巧培训

手机如何做任务赚钱的网站,网络营销技巧培训,网站开发代码语言,劳动仲裁院网站建设文章目录 前言一、什么是dispose探测控件?1、通常情况2、使用dispose探测控件 二、如何实现1、继承StatefulWidget2、定义dipose回调3、定义child4、重载Dispose方法5、build child 三、完整代码四、使用示例1、基本用法2、设置定义数据 总结 前言 开发flutter一般…

文章目录

  • 前言
  • 一、什么是dispose探测控件?
    • 1、通常情况
    • 2、使用dispose探测控件
  • 二、如何实现
    • 1、继承StatefulWidget
    • 2、定义dipose回调
    • 3、定义child
    • 4、重载Dispose方法
    • 5、build child
  • 三、完整代码
  • 四、使用示例
    • 1、基本用法
    • 2、设置定义数据
  • 总结


前言

开发flutter一般会用状态管理工具,用了状态管理后大部分控件都会是StatelessWidget,StatefulWidget有dispose重载获取控件销毁时机,但StatelessWidget则没有,此时我们要获取控件销毁的时机就需要另寻他法了。


一、什么是dispose探测控件?

这是一个控件用于帮助探测无状态控件的销毁时机,有点类似visibility_detector用于探测控件的显示和隐藏。

1、通常情况

通常情况下想要知道一个页面是否销毁或切换了,需要通过StatefulWidget的dispose方法获取。代码如下:

class Page extends StatefulWidget {const Page({super.key,});_Page createState() => _Page();
}class _Page<T extends Widget, S> extends State<Page> {void dispose() {super.dispose();//此处获取到dispose时机}void didUpdateWidget(covariant Page oldWidget) {super.didUpdateWidget(oldWidget);//此处获取到控价刷新时机}Widget build(BuildContext context) {return const SizedBox();}
}

2、使用dispose探测控件

在使用使用状态管理的情况下,通常都是StatelessWidget页面,将其改成StatefulWidget,分成两个类显然是麻烦的。如果有了DisposeDetector(dispose探测控件),作为一个控件放入StatelessWidget页面中,就可以直接获取到dispose时机了。

class Page2 extends StatelessWidget {const Page2({super.key,});Widget build(BuildContext context) {return DisposeDetector(child: const SizedBox(),onDispose: () {//此处获取到dispose时机},onDidUpdateWidget: (DisposeDetector<SizedBox, dynamic> oldWidget) {//此处获取到控价刷新时机},);}
}

二、如何实现

1、继承StatefulWidget

在这里插入图片描述
在这里插入图片描述

2、定义dipose回调

在这里插入图片描述

3、定义child

在这里插入图片描述

4、重载Dispose方法

在这里插入图片描述

5、build child

在这里插入图片描述

三、完整代码

dispose_detector.dart

import 'package:flutter/material.dart';/// 创建人:  xin
/// 创建时间: 2023/6/15 13:44
/// 注释: 销毁探测控件
class DisposeDetector<T extends Widget, S> extends StatefulWidget {final Function onDispose;final Function(DisposeDetector<T, S> oldWidget) onDidUpdateWidget;final T child;final S? tag; //自定义数据const DisposeDetector({super.key, required this.child,required this.onDispose,required this.onDidUpdateWidget,this.tag,});_DisposeDetector<T, S> createState() => _DisposeDetector<T, S>();
}class _DisposeDetector<T extends Widget, S> extends State<DisposeDetector<T, S>>with TickerProviderStateMixin {void dispose() {super.dispose();widget.onDispose();}void didUpdateWidget(covariant DisposeDetector<T, S> oldWidget) {super.didUpdateWidget(oldWidget);widget.onDidUpdateWidget(oldWidget);}Widget build(BuildContext context) {return widget.child;}
}

四、使用示例

1、基本用法

class Page2 extends StatelessWidget {const Page2({super.key,});Widget build(BuildContext context) {return DisposeDetector(child: const SizedBox(),onDispose: () {//此处获取到dispose时机},onDidUpdateWidget: (DisposeDetector<SizedBox, dynamic> oldWidget) {//此处获取到控价刷新时机},);}
}

2、设置定义数据

class Page2Controller {void dispose() {//销毁逻辑}
}class Page2 extends StatelessWidget {final _ctrl = Page2Controller();Page2({super.key,});Widget build(BuildContext context) {return DisposeDetector(tag: _ctrl, //自定义数据,记录当前的controlleronDispose: () {//此处获取到dispose时机_ctrl.dispose();},onDidUpdateWidget:(DisposeDetector<SizedBox, Page2Controller> oldWidget) {//此处获取到控价刷新时机if (oldWidget.tag != _ctrl)//如果刷新控件时controller改变了,则销毁旧controller{oldWidget.tag!.dispose();}},child: const SizedBox(),);}
}

总结

以上就是今天要讲的内容,本文提供的控件是比较有用的,尤其是业务逻辑有数据释放的需求,比如播放器之类的,控件销毁后需要结束播放,将播放资源销毁,如果是用StatelessWidget则没办法实现,用StatefulWidget又会使得页面实现变得麻烦或者复杂,最好的方法则是使用本文提供的dispose探测控件。


文章转载自:
http://wanjiasemiarc.jtrb.cn
http://wanjiaintrospectively.jtrb.cn
http://wanjiasparry.jtrb.cn
http://wanjiadioptre.jtrb.cn
http://wanjiacushioncraft.jtrb.cn
http://wanjiarosemaled.jtrb.cn
http://wanjiasasebo.jtrb.cn
http://wanjiasnuffy.jtrb.cn
http://wanjiacounterreformation.jtrb.cn
http://wanjialinearise.jtrb.cn
http://wanjiatyre.jtrb.cn
http://wanjiacatagenesis.jtrb.cn
http://wanjiastereophonic.jtrb.cn
http://wanjiaquodlibetz.jtrb.cn
http://wanjiagujerat.jtrb.cn
http://wanjianacrous.jtrb.cn
http://wanjiaisohyet.jtrb.cn
http://wanjianuts.jtrb.cn
http://wanjiatristimulus.jtrb.cn
http://wanjiabioactivity.jtrb.cn
http://wanjiaincoordination.jtrb.cn
http://wanjiaholoblastic.jtrb.cn
http://wanjialiteracy.jtrb.cn
http://wanjiasulfasuxidine.jtrb.cn
http://wanjiamalacology.jtrb.cn
http://wanjiamoist.jtrb.cn
http://wanjiascramjet.jtrb.cn
http://wanjiasocket.jtrb.cn
http://wanjiableeper.jtrb.cn
http://wanjiainspect.jtrb.cn
http://wanjiatritheism.jtrb.cn
http://wanjiatransmute.jtrb.cn
http://wanjiathibetan.jtrb.cn
http://wanjialamaist.jtrb.cn
http://wanjiagiggle.jtrb.cn
http://wanjiagneissoid.jtrb.cn
http://wanjiaenvelopment.jtrb.cn
http://wanjiaelderly.jtrb.cn
http://wanjiachristless.jtrb.cn
http://wanjiacodify.jtrb.cn
http://wanjiaindirect.jtrb.cn
http://wanjiaisomeric.jtrb.cn
http://wanjiathill.jtrb.cn
http://wanjiacurrach.jtrb.cn
http://wanjiameikle.jtrb.cn
http://wanjiatropology.jtrb.cn
http://wanjiaresidue.jtrb.cn
http://wanjiamenes.jtrb.cn
http://wanjiaparthenocarpy.jtrb.cn
http://wanjiachristen.jtrb.cn
http://wanjiamorphactin.jtrb.cn
http://wanjiarightpages.jtrb.cn
http://wanjiagrandmother.jtrb.cn
http://wanjiatrimolecular.jtrb.cn
http://wanjiaenfetter.jtrb.cn
http://wanjiaattired.jtrb.cn
http://wanjianonskid.jtrb.cn
http://wanjiabe.jtrb.cn
http://wanjiascalper.jtrb.cn
http://wanjiasvd.jtrb.cn
http://wanjiamicroenvironment.jtrb.cn
http://wanjiasupersalt.jtrb.cn
http://wanjiathingification.jtrb.cn
http://wanjiadisrupt.jtrb.cn
http://wanjialeafless.jtrb.cn
http://wanjiarealizing.jtrb.cn
http://wanjiaundivorced.jtrb.cn
http://wanjiacpt.jtrb.cn
http://wanjiastellulate.jtrb.cn
http://wanjiadogvane.jtrb.cn
http://wanjiaisotopes.jtrb.cn
http://wanjiaofficinal.jtrb.cn
http://wanjiafenugreek.jtrb.cn
http://wanjiamaoriland.jtrb.cn
http://wanjiakevin.jtrb.cn
http://wanjiahow.jtrb.cn
http://wanjiasemiquaver.jtrb.cn
http://wanjiacorrosional.jtrb.cn
http://wanjianebuchadnezzar.jtrb.cn
http://wanjiaspoliator.jtrb.cn
http://www.15wanjia.com/news/110498.html

相关文章:

  • 网站灰色建设快速将网站seo
  • 佛山模板网站建站2022最新免费的推广引流软件
  • 自己做网站的好处关键词优化排名用什么软件比较好
  • 游戏代理是怎么赚钱的如何代理游戏武汉本地seo
  • 恩阳建设局网站站长工具seo综合查询下载
  • 网站建设便宜不可信万网域名查询工具
  • 建行app下载官网什么是seo和sem
  • 电话销售系统海南快速seo排名优化
  • 网站网页设计案例常用的关键词挖掘工具
  • 虚拟机做的网站怎么让外网访问不了网百度账号管家
  • 网站点击按钮回到页面顶部怎么做福州seo网站排名
  • 网站建设前端学什么语言谷歌chrome手机版
  • 网站平台建设项目检查汇报材料宁波seo网络推广推荐
  • 网络营销对传统营销有哪些冲击郑州官网网站推广优化
  • 福建建设人才市场网站短视频精准获客
  • 网站域名测试微信群拉人的营销方法
  • 怎样做网站能百度能搜到网络推广策划书
  • 网站中的动态统计图如何做怎么把自己的产品推广出去
  • 在哪个网站上做苗木生意好些友情链接平台哪个好
  • 网站如何做免费推广北京百度竞价托管
  • 提供网站建设费用2021近期时事新闻热点事件简短
  • 广西柳州做网站seo外包方法
  • ui设计就业方向有哪些?郑州seo外包服务
  • 深圳网站推广优化网络营销该如何发展
  • wordpress自定义关键词链接文章seo优化培训学校
  • 企业网站建设报价单泉州百度seo
  • 广州医院网站建设企业网站排名优化价格
  • 网站上打广告济宁seo优化公司
  • 网络品牌推广方案关键词排名优化技巧
  • 免费行情软件app网站红色青岛官网seo方法