美文网首页
Flutter状态管理的简单理解

Flutter状态管理的简单理解

作者: only_run | 来源:发表于2020-05-14 22:53 被阅读0次

声明:本篇文字只是个人的理解,记录,由于水平有限理解粗浅 仅做参考

什么是状态管理?

Flutter中只有StateFull类型的Widget才有state,通过state管理widget的样式更新;状态管理,顾名思义 管理的是数据变化和widget的更新;

常见的状态管理方式

  • widget管理自己的状态
  • 父widget管理子widget的状态
  • 混合管理(父Widget和子Widget都管理状态)

为什么要进行状态管理?

跨widget状态更新:通知另外一个widget进行状态更新

父子widget状态更新:父widget直接更新但是会触发子widget不必要的更新,通常会通知 子widget,由子widget更新
兄弟widget状态更新:共同的父widget直接更新,或者通知兄弟widget,由兄弟widget更新
另外widget之间通信科 可通过函数回调
但是如果 多个父子widget,多个兄弟widget,甚至祖先widget,进行通知状态更新;代码会非常繁琐臃肿,难以复用;更需要统一管理 进行简化。

怎样实现状态管理?

两种思路

  • 思路1:数据总线 建立一对多的订阅关系,widget接收数据变化,并更新widget;例如:flutter版的event_bus
  • 思路2:顶层widget管理数据 发出更新通知,下层widget接收并更新;
    此外 下层widget 能够获取顶层widget持有的数据
    例如:redux provider

provider的理解
redux的理解

参考 flutter状态管理

相关文章

网友评论

      本文标题:Flutter状态管理的简单理解

      本文链接:https://www.haomeiwen.com/subject/pdlfohtx.html