Flutter关于StatefulWidget中State刷新时机的一点实用理解

这篇具有很好参考价值的文章主要介绍了Flutter关于StatefulWidget中State刷新时机的一点实用理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

刚入门flutter开发,使用StatefulWidget踩了很多坑,就我遇到典型问题谈谈见解。

1.initState方法只会在控件初始化的时候执行一遍。

2.控件内部执行setState方法,则会每次执行build方法。

3.控件销毁会执行dispose方法,所以一些未释放的资源可以在该方法中执行,例如计时器。

4.使用控件则外部执行setState方法,控件内部会执行didUpdateWidget方法和build方法。

5.需要外部刷新控件的状态,可以在didUpdateWidget上处理,initState不执行,所以千万不要在initState处理。

6.外部使用控件时遇到三目运算符:条件?Widget A:Widget B;类似的情况时,当执行了Widget A,外部条件改变时,执行了Widget B时,再执行到Widget A时,控件会重建,换句话说,就会执行initState,相反,从Widget A执行到Widget B ,Widget A会被销毁,即会执行dispose方法。

先总结这些,有啥不正确的地方欢迎评论指正。后续有啥感悟,我会继续追加文章。文章来源地址https://www.toymoban.com/news/detail-688986.html

到了这里,关于Flutter关于StatefulWidget中State刷新时机的一点实用理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于小程序微信登录后端设计的一点分享

    我们知道微信小程序对于微信登录的设计其实是给到了一个微信login的功能接口,其中响应成功会返回一个临时凭证码(时间大概是5分钟)code,这个临时的凭证码是从https://api.weixin.qq.com/sns/jscode2session获取openId的必带参数。下图示微信登录过程的时序图:  这里我们只介绍到

    2024年02月10日
    浏览(27)
  • [数学建模] 0、关于数学建模的一点看法&付费专栏食用说明

    1、前言 在大学期间,几次参加数学建模的经历给我带来的印象还是很深

    2024年02月15日
    浏览(29)
  • 关于工作流开发前端选型的一点个人见解(bpmn.js与LogicFlow)

    掘金2023年度人气创作者打榜中,快来帮我打榜吧~ https://activity.juejin.cn/rank/2023/writer/747323639208391?utm_campaign=annual_2023utm_medium=self_web_shareutm_source=MiyueFE 首先需要明确的一点是,本文的出发点 纯粹是针对工作流开发 的场景的选型对比,其他业务场景下建议重新调研。 什么是工作

    2024年02月20日
    浏览(36)
  • 关于credal set和credal decision tree的一点思考(其实就是论文笔记)

    阅读Abellán老师的Credal-C4.5时,发现好难。。。然后又额外补充了一些论文,终于稍微懂一点点了,所以记录如下。 credal set在DS theory的定义如下 [1]: 这句话的意思是(证据理论中的)credal set是一个概率的凸集,这里面的概率p(x)受到上界pl函数和下界bel函数的控制(约束),

    2024年02月12日
    浏览(32)
  • Flutter有状态组件StatefulWidget

    当继承StatelessWidget组件时,在组件中更新数据时页面不会立即刷新。 如果继承StatefulWidget时,只要在setState方法中更新数据后页面会实时更新数据。 Flutter有状态组件StatefulWidget 完整代码:

    2024年02月16日
    浏览(28)
  • Flutter视图原理之StatefulWidget,InheritedWidget

    在flutter项目中,StatelessWidget,StatefulWidget,InheritedWidget是常见的widget,今天通过源码分析下它们是怎么实现的。 对应的功能基本上都是在element中实现的,widget只是提供组件配置的作用,所以在讲解StatefulWidget,InheritedWidget的时候,主要还是分析对应的element的实现。 StatefulW

    2024年02月07日
    浏览(21)
  • Flutter StatefulWidget传递数据,多级控件传递数据

    在Flutter中,StatefulWidget可以通过构造函数将数据传递给其子控件,这种方式适用于一些简单的场景。但是,当存在多级嵌套控件时,将数据从祖先传递到后代可能会变得困难。在这种情况下,可以使用Flutter提供的InheritedWidget类来传递数据。 通过构造函数传递数据 在StatefulW

    2024年02月10日
    浏览(23)
  • 背包问题的一点看法

    背包问题已经被人讲得很透彻了,上古大神写的《背包九讲》已经相当详细的阐述了背包问题,本文不会过多赘述,主要总结一些有关背包的有趣的玩意。 01背包和完全背包是非常类似的问题,01背包的特点是每种物品最多只能取一个,而完全背包每种物品都可以任意取。 以

    2024年02月12日
    浏览(25)
  • 账号登录相关的一点随笔

    最后更新于2023年8月8日 14:25:32 简单:一个token验证; 前端发来登录信息,后端验证通过后,将token发回前端; 复杂:Access Token + Refresh Token验证: 将Access Token和Refresh Token都发回前端,AT过期时间短,RT时间长。AT过期后,使用RT刷新AT,再用新的AT登录。 token这东西可以放在ht

    2024年02月13日
    浏览(30)
  • 找实习、工作的一点浅见

    一、实习的必要性。 为什么需要去实习?1、实习能帮助自己增进对于具体职场的认识,包括具体工作的职责、内容、工作氛围、是否有较大压力等等;2、通过一段时间的实习经历,能帮助自己作出未来是否能胜任类似的工作的判断,如果有留用,是否考虑留下,如果没有留

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包