关于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()只会在组件初始创建时被调用一次。
相关推荐
2501_9444241224 分钟前
Flutter for OpenHarmony游戏集合App实战之数字拼图滑动交换
android·开发语言·flutter·游戏·harmonyos
不会写代码0001 小时前
Flutter 框架跨平台鸿蒙开发 - 手写笔记工具开发教程
笔记·flutter·华为·harmonyos
小风呼呼吹儿1 小时前
Flutter 框架跨平台鸿蒙开发 - 老年便捷助手:打造适合老年人的智能工具箱
flutter·华为·harmonyos
小雨下雨的雨1 小时前
禅息:在鸿蒙与 Flutter 之间寻找呼吸的艺术
算法·flutter·华为·重构·交互·harmonyos
2501_944526421 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 关于页面实现
android·java·开发语言·javascript·python·flutter·游戏
鸣弦artha1 小时前
Card组件基础使用
flutter
IT陈图图2 小时前
基于 Flutter × OpenHarmony 音乐播放器应用——构建录音控制按钮与录音状态按钮
flutter·华为·鸿蒙·openharmony
[H*]2 小时前
Flutter框架跨平台鸿蒙开发——Image综合应用
flutter·华为·harmonyos
小风呼呼吹儿2 小时前
Flutter 框架跨平台鸿蒙开发 - 倒计时秒表:打造多功能计时工具
网络·flutter·华为·harmonyos
IT陈图图2 小时前
Flutter × OpenHarmony 文件管家:数据结构设计与实现
数据结构·flutter