跳转至正文

状态 (State) 管理参考

介绍 Flutter 应用中状态管理的不同方式。

状态管理是一个相当复杂的话题。如果你在浏览后发现一些问题并未得到解答,或者并不适用于你的具体需求场景,自信些,你的实现就是对的。

通过下面的资源了解更多的信息,其中有很多内容都是由社区(第三方)提供。

总体概览

#

在选择一个具体内容前,你可以先查看以下几项。

内置的方式

#

setState

#

用于 Widget 临时状态的基础方式。

ValueNotifierInheritedNotifier

#

一种完全使用 Flutter 提供的 API 来更新状态并通知 UI 更新的方式。

InheritedWidgetInheritedModel

#

Widget tree 中不同层级间的 widget 通信的基础方法。这是诸如 package:provider 等众多方法的底层实现。

以下讲师指导的视频 workshop 介绍了如何使用 InheritedWidget

其他有用的文档包括:

社区提供的 package

#

根据应用的复杂度与团队的偏好,你可能会发现采用状态管理 package 很有帮助。状态管理 package 通常有助于减少样板代码、提供专门的调试工具,并能促成更清晰、更一致的应用架构。

Flutter 社区提供了种类繁多的状态管理 package。最适合你应用的选择,往往取决于应用的复杂度、团队的偏好,以及你需要解决的具体问题。

要开始探索可用的选项,请查看 pub.dev 上的 #state-management 主题,并细化搜索以找到符合你需求的 package。