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

这篇具有很好参考价值的文章主要介绍了关于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()只会在组件初始创建时被调用一次。

文章来源地址https://www.toymoban.com/news/detail-673164.html

到了这里,关于关于flutter中 initState() 与 setState() 用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Flutter路由的几种用法

    Flutter路由跳转 search.dart页面 命名路由跳转需要先配置路由 routers.dart配置文件 然后需要在首页添加initialRoute和onGenerateRoute配置 context属性中写配置中的路径,arguments属性中是跳转需要带的参数,跳转到form.dart页面并接收参数。 命名路由替换跳转用pushReplacementNamed,跳转新页面

    2024年02月04日
    浏览(40)
  • 探索 Flutter 的 Provider:介绍与用法

    在 Flutter 应用开发中,状态管理始终是一个核心话题。随着 Flutter 的不断发展,各种状态管理方案应运而生。Provider,作为一个轻量级且高效的状态管理库,在社区中获得了广泛的认可和使用。本文将深入探讨 Provider 的最新特性和用法,帮助开发者更好地在 Flutter 应用中实现

    2024年01月16日
    浏览(35)
  • flutter dart json 转model用法

    定义model: 使用方法:

    2024年02月11日
    浏览(36)
  • flutter获取地理定位:geolocator依赖详细用法

     本文使用geolocator插件实现app物理定位功能。 该插件的主要功能有: 获取最后已知位置; 获取设备当前位置; 获取连续的位置更新; 检查设备是否启用了定位服务; 计算两个地理坐标之间的距离(米); 计算两个地理坐标之间的方位;  方法一:在pubspec.yaml文件中添加它

    2024年01月20日
    浏览(37)
  • Flutter笔记:关于Flutter中的大文件上传(上)

    Flutter笔记 关于Flutter中的大文件上传(上) 大文件上传背景与 Flutter 端实现文件分片传输 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/134302751 本系列上下两篇文章,包括 Flutter 端和 Django 端(后

    2024年02月03日
    浏览(50)
  • 【精品】关于枚举的高级用法

    2024年02月20日
    浏览(31)
  • 关于event.preventDefault()的用法

      本来是研究ES6的对象的解构赋值的,自己突发奇想,将表单页面的数据提交到后端对象中的,用纯原生的方式编写代码,结果运行代码没有报错,怎么就获取不到表单输入框输入的内容,百思不得其解。先展示错误代码    当运行上述代码的时候,打开浏览器,点击提交按

    2024年02月15日
    浏览(29)
  • 关于Ping命令的七种用法

    今天我们来详细看下ping命令详细使用: 一、ping基本使用详解 在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器IP 3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 我

    2024年02月12日
    浏览(49)
  • [vue 进阶] 关于dicts字典的用法

    最近在学习若依系统的框架,其中发现一个很奇怪的事情,网上查询很多地方,也是一知半解。 网上搜索的结果如下,大家可以先看看: [vue 进阶] 关于dicts字典的用法_小钿钿不忘初心_的博客-CSDN博客 前言在使用若依框架开发小项目的时候,发现在项目中频繁使用到字典,原

    2024年02月01日
    浏览(34)
  • LaTeX关于section和paragraph的用法

    一、section和subsection         在LaTeX中 section{Section} Hello World! subsection{Subsection} Structuring a document is easy!         效果如下 二、section,subsection和paragraph         在LaTeX中         效果如下 三、参考         Using LaTeX paragraphs and sections

    2024年02月05日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包