6-flutter 状态管理
1 StatelessWidget
不需要状态改变的widget,它没有要管理的内部状态。
Text,CircleAvator 都是其子类
其传递的参数别final 修饰,不可变的
无状态的widget build 方法在以下三种情况下进行调用
- 当widget 插入到数中去
- 当widget 父级更改配置的时候
- 当他依赖的inheritewidget 发生变化的时候
2 StatefulWidget
是可以改变的,使用setState管理器状态的改变。调用setState 方法,Flutter会重新运行build 方法,以便应用程序更新状态。
checkBox ,slider ,Form,Textfiled 都是有状态的Widget,也是StatefulWidget的子类
3 widget的状态选择
是有状态和无状态的,取决于是否他们依赖与状态的变化。
4 状态管理
- 每一个widget 管理自己的状态
- 父widget 管理widget的状态
- 混合搭配的管理方法
采取管理方法:
- 如果所讨论的状态是用户数据,例如复选框的选中和未选中或者是滑块的位置,状态最好由父widget来管理
- 如果widget的状态取决于用户的动作,例如动画,则最好自身来进行管理
- 如果还是不确定谁来管理状态,让父类进行管理
6-flutter 状态管理相关推荐
- Flutter 状态管理指南之 Provider
2019 Google I/O 大会,Flutter 团队在"Pragmatic State Management in Flutter "演讲上正式介绍了 Provider.自此 ...
- Flutter 状态管理之Bloc上
前言:Flutter 的状态管理插件有很多,比如 Provider,GetX 还有本篇要讲述的 Bloc .Bloc 目前最新的版本是 flutter_bloc: ^8.0.1. BLoC 依赖 St ...
- flutter 状态管理 flutter_bloc 的使用以及总结
Bloc介绍 flutter_bloc 8.0,直接把mapEventToState方法去掉,需要手动注册事件处理器,不用再写if else 来判断event ,也不用写yield flutter_b ...
- Flutter状态管理1-ChangeNotifierProvider的使用
关于Flutter中的状态管理,可以参考官网的介绍:Simple app state management 中文网的介绍:简单的应用状态管理 Flutter 官方的两个sample: provider ...
- FlyAI小课堂:Flutter 状态管理之BLoC
在正式介绍 BLoC之前, 为什么我们需要状态管理.如果你已经对此十分清楚,那么建议直接跳过这一节. 如果我们的应用足够简单,Flutter 作为一个声明式框架,你或许只需要将 数据 映射成 视图 就 ...
- Flutter 状态管理
目录 一.状态管理简介 1.1 为什么需要状态管理 1.1.1 Flutter与adr/ios UI框架区别 1.1.2 状态管理框架使用场景 1.2 需要解决的问题 二.状态管理框架现有方案调研 2 ...
- 【flutter-mobx】Flutter 状态管理- 使用 MobX实现计数器
实践flutter mobx: 提示:对下面这篇掘金文章的实践,通过flutter结合 mobx 实现计数器,过程中也添加了一些处理和注释,代码放在feat/mobx下 https://juejin. ...
- Flutter 状态管理之Bloc下
这篇是使用 Bloc 来实现业务逻辑与UI分离.主要就是慕课网课程列表的网络请求并且展示. 首先定义一个基础事件的类,如下: abstract class LessonEvent {} 然后我定义了3 ...
- flutter 局部状态和全局状态区别_Flutter状态管理
Flutter状态管理 状态管理是声明式编程非常重要的一个概念,我们在前面介绍过Flutter是声明式编程的,也区分声明式编程和命令式编程的区别. 这里,我们就来系统的学习一下Flutter声明式编程 ...
- Flutter 超简单状态管理
Flutter 状态管理 目前Flutter已经有许多状态管理的方案,但就我个人而言,并不能完全满足我的要求.我希望状态管理更加简单,而不是成为负担,我希望状态管理更加可靠,而不是使用过于复杂的实现. ...
最新文章
- LeetCode Add Binary
- OpenCV学习笔记(一)(二)(三)(四)(五)
- 在参数上使用@Param(“paramName”)注解”解决了传多个参数的问题
- 利用js的闭包原理做对象封装及调用方法
- plsql轻量版游标的使用
- 问题:HikariPool-1 - Shutdown initiated...的解决
- 让XCode的Stack Trace信息可读
- 疑似小米11 Pro保护壳曝光:横向矩阵相机设计
- 浅析tornado协程运行原理
- who whos exist inf
- UITableView+UITableViewStyleGrouped 处理section之间间隙
- 如何安装matlab?官网下载详细教程
- QThread之重写run() 实现线程与业务解耦
- kX3552常用插件集
- 2021年度总结—四非计算机保研经历(参营:清华网研院、中科大先研院、华师大数据科学院、厦大计算机系、上科大信息学院)
- 猫咪突然嘴巴合不住是怎么回事?
- 蚂蚁金服区块链创新大赛
- linux设置r语言环境,R语言 环境设置
- 山石防火墙命令查看配置_hillstone 防火墙基本配置
- 视频融合应用没听说过?