initState()
函数是在组件渲染之前执行的。在Flutter中,initState()
是StatefulWidget
的生命周期方法之一,在调用build()
方法之前被调用。- 当创建一个
StatefulWidget
并将其添加到组件树中时,Flutter会实例化该组件的状态对象,并在调用initState()
方法后再调用build()
方法来构建UI。 initState()
通常用于执行一些初始化操作,比如数据获取、订阅事件、启动定时器等。它只会被调用一次,在组件的整个生命周期中只执行一次。- 一旦
initState()
被调用并完成后,就会立即调用build()
方法来构建UI。所以,如果你希望在UI构建之前执行某些操作,可以放在initState()
中。 - 值得注意的是,在
initState()
中不要执行耗时的操作或阻塞UI线程的操作,因为这可能导致应用程序卡顿。如果需要进行异步操作,可以使用Future
、async/await
等方式来处理。 setState()
方法不会触发initState()
的重新执行。当调用setState()
时,它会通知Flutter框架重新构建相关的组件树,并调用build()
方法来更新UI。initState()
方法只在初始化组件时调用一次,在组件的整个生命周期中不会再次执行。它主要用于执行一些初始化操作,比如数据获取、订阅事件、启动定时器等。- 当你调用
setState()
方法后,Flutter会检测到状态发生了变化,并执行与该组件相关的build()
方法来生成新的UI。在build()
方法中,你可以使用新的状态值进行UI渲染。 - 所以,当你在
setState()
中更新了状态数据后,Flutter将会重新构建相关的组件,但不会重新执行initState()
方法。initState()
只会在组件初始创建时被调用一次。
关于flutter中 initState() 与 setState() 用法
Jushden2023-08-29 10:23
相关推荐
freflying11196 小时前
使用jenkins构建Android+Flutter项目依赖自动升级带来兼容性问题及Jenkins构建速度慢问题解决机器瓦力8 小时前
Flutter应用开发:对象存储管理图片江上清风山间明月17 小时前
Flutter最简单的路由管理方式Navigatorweixin_4111918417 小时前
FlutterAssetsGenerator插件的使用神秘_博士1 天前
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone陈皮话梅糖@1 天前
Flutter 网络请求与数据处理:从基础到单例封装陈皮话梅糖@2 天前
深入解析 Flutter Riverpod:从原理到实战yujunlong39192 天前
android,flutter 混合开发,通信,传参陈皮话梅糖@2 天前
如何使用 Flutter DevTools 和 PerformanceOverlay 监控性能瓶颈陈皮话梅糖@2 天前
深入解析 Flutter GetX