Flutter有状态组件StatefulWidget生命周期

在这里插入图片描述
StatefulWidget是Flutter中的一个有状态的组件,它的生命周期相对复杂一些。下面是StatefulWidget的生命周期方法及其调用顺序:

1. createState(): 当StatefulWidget被插入到Widget树中时,会调用createState()方法来创建与之关联的State对象。

2. initState(): 在createState()方法后立即调用,用于初始化State对象,可以在这个方法中进行一些初始化操作,如订阅事件、初始化变量等

3. didChangeDependencies(): 在initState()之后调用,用于处理依赖关系的变化,比如获取父Widget传递的数据。

4. build(): 在didChangeDependencies()之后调用,用于构建Widget的UI。

5. didUpdateWidget(): 当父Widget发生变化时,会调用didUpdateWidget()方法,可以在这个方法中更新State对象的一些属性。

6. setState(): 当需要更新State对象时,可以调用setState()方法,它会触发build()方法重新构建UI。

7. deactivate(): 当StatefulWidget被移除出Widget树时,会调用deactivate()方法,可以在这个方法中做一些清理工作。

8. dispose(): 当StatefulWidget被永久移除出Widget树时,会调用dispose()方法,可以在这个方法中释放资源、取消订阅等。

总结起来,StatefulWidget的生命周期包括:创建、初始化、依赖关系变化、构建UI、更新、移除和销毁。这些方法的调用顺序是固定的,开发者可以在对应的方法中执行相应的操作以满足业务需求。

其次,生命周期的调用顺序是由父级到子级

flutter: createState
flutter: initState
flutter: didChangeDependencies
flutter: build
flutter: child-createState
flutter: child-initState
flutter: child-didChangeDependencies
flutter: child-build

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/191706.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中,该注解会失效! 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…

git快速上传代码

① git init; 初始化git,之后在文件夹里有.git文件,这个需要 勾选才能查看。 ② git remote add test myFisrtTest: 测试专用 这里的test是自定义的,myFisrtTest: 测试专用 是远程仓库 ③ git branch -a 这里是查看分支 ④ …

react函数式组件props形式子向父传参

父组件中定义 子组件中触发回调传值 import { useState } from "react"; function Son(params) {const [count, setCount] useState(0);function handleClick() {console.log(params, paramsparamsparamsparamsparamsparams);params.onClick(111)setCount(count 1…

阿里云容器镜像服务的运维总结

一、背景 容器镜像服务,作为一个可选付费产品,主要作用是存储docker的镜像仓库,供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库,在公司的开发环境下,将image推送到仓库;然后在生产k8s从仓库拉取…

如果不用Baklib,哪一个帮助中心工具能够替代它?

在各行各业进入“留量时代”的当下,让用户获得良好的体验和留存老客户变得更为关键,这对于企业的客户服务提出了更高的要求。在使用各类互联网产品时,用户更倾向于通过自助方式寻找答案并解决问题,因此帮助中心的重要性也在不断提…

mysql之MHA

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换(基于主从复制才能故障切换) MHA最少要求一主两从,半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃,MHA可以在0-30…

μC/OS-II---时间管理(os_time.c)

目录 时间管理相关(os_time.c)Task延迟按时、分、秒、毫秒延时恢复被延时的Task返回系统当前的Tick计数值设置系统的Tick计数值 时间管理相关(os_time.c) Task延迟 void OSTimeDly (INT32U ticks) {INT8U y; #if OS_CRITI…

为什么UI自动化难做?—— 关于Selenium UI自动化的思考

在快速迭代的产品、团队中,UI自动化通常是一件看似美好,实际“鸡肋”(甚至绝大部分连鸡肋都算不上)的工具。原因不外乎以下几点: 1 效果有限 通常只是听说过,就想去搞UI自动化的团队,心里都认…

idea生成代码(一):实现java语言的增删改查功能(基于EasyCode插件)支持自定义模板【非常简单】

idea生成代码(一):实现java语言的增删改查功能(基于EasyCode插件)支持自定义模板【非常简单】 idea生成代码(二):实现java语言的增删改查功能(基于mybatis-plus代码生成器…

矩阵置零00

题目链接 矩阵置零 题目描述 注意点 使用 原地 算法 解答思路 思路是需要存储每一行以及每一列是否有0,因为要尽可能使用更少的空间,且新设置为0的格子不能对后续的判断产生影响,所以要在原有矩阵上存储该信息先用两个参数存储第一行和第…

4、创建第一个鸿蒙应用

一、创建项目 此处以空模板为例来创建一个鸿蒙应用。在创建项目前请保持网页的畅通。 1、在欢迎页面点击“Create Project”。 2、左侧默认为“Application”,在“Template Market”中选择空模板(Empty Ability),点击“Next” 3…

使用 Electron 来替代本地调试线上代理的场景

Cookie Samesite 问题 https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure?hlzh-cnhttps://www.chromium.org/updates/same-site/https://github.com/GoogleChromeLabs/samesite-exampleshttps://releases.electronjs.org/releases/s…

【numpy】数据类型

1、Numpy Python 的扩展库(数学函数库),主要用于数组计算。 N维数组对象ndarray广播功能函数整合C/C/Fortran代码的工具线性代数、傅里叶变换、随机数生成等功能 通常与SciPy(开源算法库和数学工具包)和Matplotlib&a…

μC/OS-II---Task管理2(os_task.c)

目录 改变Task优先级Task挂起Task恢复Task信息获取Task调度器上锁(os_core.c)Task调度器开锁(os_core.c) 改变Task优先级 #if OS_TASK_CHANGE_PRIO_EN > 0u INT8U OSTaskChangePrio (INT8U oldprio,INT8U newprio) { #if (…

Linux 本地zabbix结合内网穿透工具实现安全远程访问浏览器

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…

spring-cloud-alibaba-nacos

spring cloud nacos 安装和启动nacos # 解压nacos安装包 # tar -zvxf nacos-server-1.4.1.tar.gz# nacos默认是以集群的模式启动,此处先用单机模式 # cd /usr/local/mysoft/nacos/bin # sh startup.sh -m standalone# nacos 日志 # tail -f /usr/local/mysoft/na…

Lua的Resty-Request库写的一个简单爬虫

文章目录 准备工作编写爬虫运行爬虫代码分析拓展功能总结 🎉欢迎来到AIGC人工智能专栏~Lua的Resty-Request库写的一个简单爬虫 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章专栏:AIGC人工智…

吊打Fast Request还免费? 这款插件真心好用!

今天给大家推荐一款IDEA插件:Apipost Helper,比Fast Request更好用并且完全免费!三大亮点功能:写完代码IDEA内一键生成API文档;写完代码IDEA内一键调试,;生成API目录树,双击即可快速…

linux下安装向日葵

https://sunlogin.oray.com/download/linux?typepersonal下载 在文件所在位置的空白处右键(在此处打开终端) 输入命令: sudo dpkg -i 文件名.deb (文件名为下载的deb文件名字)/usr/local/sunlogin/bin/sunlogincl…

应急响应练习1

目录 1. 提交攻击者的IP地址 2. 识别攻击者使用的操作系统 3. 找出攻击者资产收集所使用的平台 4. 提交攻击者目录扫描所使用的工具名称 5. 提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS 6. 找到攻击者写入的恶意后门文件,提…