关于flutter中 initState() 与 setState() 用法

  1. initState()函数是在组件渲染之前执行的。在Flutter中,initState()StatefulWidget的生命周期方法之一,在调用build()方法之前被调用。
  2. 当创建一个StatefulWidget并将其添加到组件树中时,Flutter会实例化该组件的状态对象,并在调用initState()方法后再调用build()方法来构建UI。
  3. initState()通常用于执行一些初始化操作,比如数据获取、订阅事件、启动定时器等。它只会被调用一次,在组件的整个生命周期中只执行一次。
  4. 一旦initState()被调用并完成后,就会立即调用build()方法来构建UI。所以,如果你希望在UI构建之前执行某些操作,可以放在initState()中。
  5. 值得注意的是,在initState()中不要执行耗时的操作或阻塞UI线程的操作,因为这可能导致应用程序卡顿。如果需要进行异步操作,可以使用Futureasync/await等方式来处理。
  6. setState()方法不会触发initState()的重新执行。当调用setState()时,它会通知Flutter框架重新构建相关的组件树,并调用build()方法来更新UI。
  7. initState()方法只在初始化组件时调用一次,在组件的整个生命周期中不会再次执行。它主要用于执行一些初始化操作,比如数据获取、订阅事件、启动定时器等。
  8. 当你调用setState()方法后,Flutter会检测到状态发生了变化,并执行与该组件相关的build()方法来生成新的UI。在build()方法中,你可以使用新的状态值进行UI渲染。
  9. 所以,当你在setState()中更新了状态数据后,Flutter将会重新构建相关的组件,但不会重新执行initState()方法。initState()只会在组件初始创建时被调用一次。

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

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

相关文章

防破解方法:文字提示信息都经过编码加密处理

本篇文章属于《518抽奖软件开发日志》系列文章的一部分。 我在开发《518抽奖软件》(www.518cj.net)的时候,为了防止被破解,需用添加一些暗桩等,需要提示用户不要用盗版。破解者会根据提示信息找到暗桩的位置&#xff0…

深度学习-4-二维目标检测-YOLOv3模型

单阶段目标检测模型YOLOv3 R-CNN系列算法需要先产生候选区域,再对候选区域做分类和位置坐标的预测,这类算法被称为两阶段目标检测算法。近几年,很多研究人员相继提出一系列单阶段的检测算法,只需要一个网络即可同时产生候选区域并…

Linux:编译遇到 Please port gnulib freadahead.c to your platform ,怎么破

问题背景 编译m4时遇到以下错误,该怎么解决呢? 解决方法 进入m4的build目录:build/host-m4-1.4.17 输入命令: sed -i s/IO_ftrylockfile/IO_EOF_SEEN/ lib/*.c echo "#define _IO_IN_BACKUP 0x100" >> lib/std…

堆栈深度超过限制

报错:Cause: com.kingbase8.util.KSQLException: 错误: 堆栈深度超过限制 Hint: 在确定了平台的堆栈深度限制是足够大后,增加配置参数 "max_stack_depth"的值(当前值为2048kB).; 错误: 堆栈深度超过限制 Hint: 在确定了平台的堆栈深度限制是足…

机器学习和数据挖掘03-模型性能评估指标

Accuracy(准确率) 概念:模型正确预测的样本数量与总样本数量的比例。 公式:Accuracy (TP TN) / (TP TN FP FN) TP (True Positives):正确预测为正例的样本数。即模型正确地将正例判定为正例。 TN (True Negati…

go中runtime包里面的mutex是什么?runtime.mutex解析

其实在看go源码的时候,发现除了sync包里有个mutex以外,runtime包里也有一个mutex,这个mutex在runtime很多地方都在用。 这个runtime包里面的mutex的结构如下: 目录: /runtime/runtime2.go 代码: type mutex struct …

PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像...

原文链接:http://tecdat.cn/?p24346 在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上(点击文末“阅读原文”获取完整代码数据)。 “用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客…

常用的 hooks 函数

React 的 Hooks 为函数组件引入了之前只能在类组件中使用的功能和生命周期特性。以下是一些常用的 Hooks: 1. useState: 允许函数组件有内部状态。返回一个状态变量和一个设置该状态的函数。 const [count, setCount] useState(0);2. useEffect: 用于执行副作用…

OpenCV(四):Mat支持的运算

目录 1.对两个 Mat 对象按元素进行运算,有加法、减法、乘法和除法等运算。 2.Mat类支持逻辑与、或、非等逻辑运算, 1.对两个 Mat 对象按元素进行运算,有加法、减法、乘法和除法等运算。 加法:Mat Mat,保存到 resul…

【1】openGL glew示例代码分析绘制一个三角形

openGL文档 > docs.gl &#xff0c;可以直接查询函数的定义和使用 #include <iostream> #include <string> #include <GL/glew.h> #include <GLFW/glfw3.h>int main(void) {GLFWwindow* window;/* Initialize the library */if (!glfwInit())retu…

LeetCode_SQL练习(二)

196. 删除重复的电子邮箱 表: Person ---------------------- | Column Name | Type | ---------------------- | id | int | | email | varchar | ----------------------id 是该表的主键列(具有唯一值的列)。 该表的每一行包含一封电子邮件。电子邮件…

vue去掉循环数组中的最后一组的某个样式style/class

vue去掉循环数组中的最后一组的某个样式style/class 需求&#xff1a;要实现这样的排列 现状 发现&#xff0c;最后一个格子并没有跟下面绿色线对齐。 最后发现 是因为 每个格子都给了 margin-right&#xff1a;36px&#xff0c;影响到了最后一个格子 所以要 将最后一个格子的…

Linux:Jupyterhub多用户远程登录安装、使用经验

1、安装 首先&#xff0c;打开官网帮助文档&#xff1a; JupyterHub 官方安装帮助文档 一般安装都是参考官方最新版安装文档。 1.1环境条件 本次安装 JupyterHub的软件环境&#xff1a; 基于 Linux Centos系统&#xff1b;Python 3.9或更高版本&#xff1b;安装 nodejs/n…

CMake rv1109交叉编译环境搭建

安装vmware虚拟机 准备安装包VMware-workstation-full-15.5.1-15018445.exe 下载地址安装 参考资料 在vmware上安装Linux环境 准备安装包ubuntu-18.04.4-desktop-amd64.iso 下载地址安装 参考资料 安装rv1109交叉编译工具链 准备安装包rv1109_toolchain_release.tar.bz2 下…

【深度学习】实验05 构造神经网络示例

文章目录 构造神经网络1. 导入相关库2. 定义一个层3. 构造数据集4. 定义基本模型5. 变量初始化6. 开始训练 构造神经网络 注明&#xff1a;该代码用来训练一个神经网络&#xff0c;网络拟合y x^2-0.5noise&#xff0c;该神经网络的结构是输入层为一个神经元&#xff0c;隐藏层…

高效利用隧道代理实现无阻塞数据采集

在当今信息时代&#xff0c;大量的有价值数据分散于各个网站和平台。然而&#xff0c;许多网站对爬虫程序进行限制或封禁&#xff0c;使得传统方式下的数据采集变得困难重重。本文将向您介绍如何通过使用隧道代理来解决这一问题&#xff0c;并帮助您成为一名高效、顺畅的数据采…

工厂人员作业行为动作识别检测算法

工厂人员作业行为动作识别检测算法通过yolov7python深度学习算法框架模型&#xff0c;工厂人员作业行为动作识别检测算法实时识别并分析现场人员操作动作行为是否符合SOP安全规范流程作业标准&#xff0c;如果不符合则立即抓拍告警提醒。Python是一种由Guido van Rossum开发的通…

【React】React学习:从初级到高级(一)

React学习[一] 1 UI描述1.1 组件的创建与使用1.1.1 创建组件1.1.2 使用组件 1.2 组件的导入与导出1.2.1 根组件文件1.2.2 导出和导入一个组件1.2.3 从同一文件中导出和导入多个组件 1.3 使用JSX书写标签语言1.3.1 JSX:将标签引入JavaScript1.3.2 将HTML转换为JSX1.3.3 高级提示…

Python进阶(1)

Python进阶&#xff08;1&#xff09; 文章目录 Python进阶&#xff08;1&#xff09;一&#xff1a;发送请求&#xff08;GET/POST&#xff09;1.1、方式一&#xff1a;http.client&#xff0c;以https方式为例1.1.1、GET1.1.2、POST 1.2、方式二&#xff1a;requests&#xf…

音视频 ffplay命令播放媒体

播放本地文件 ffplay -window_title "test time" -ss 2 -t 10 -autoexit test.mp4 ffplay buweishui.mp3播放网络流 ffplay -window_title "rtmp stream" rtmp://202.69.69.180:443/webcast/bshdlive-pc强制解码器 mpeg4解码器&#xff1a;ffplay -vco…