跳到主内容

状态管理方法

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

状态管理是一个复杂的话题。如果您觉得有些问题没有得到解答,或者这些页面描述的方法不适用于您的用例,那很可能是正确的。

请参阅以下资源以了解更多信息,其中许多资源均由 Flutter 社区贡献。

总览

#

在选择方法之前需要考虑的事项。

内置方法

#

setState

#

用于特定组件、临时状态的底层方法。

ValueNotifierInheritedNotifier

#

一种仅使用 Flutter 提供的 API 来更新状态并通知 UI 更改的方法。

InheritedWidgetInheritedModel

#

用于在组件树中祖先和子组件之间进行通信的底层方法。 这就是 package:provider 和许多其他方法在底层使用的。

以下由讲师指导的视频研讨会介绍了如何使用 InheritedWidget

在 YouTube 上以新标签页观看:“如何使用 Inherited Widget 管理应用程序状态”

其他有用的文档包括

社区提供的包

#

根据您的应用复杂性和团队偏好,您可能会发现采用状态管理包很有用。状态管理包通常有助于减少样板代码,提供专门的调试工具,并有助于实现更清晰、更一致的应用程序架构。

Flutter 社区提供了各种各样的状态管理包。最适合您的应用的方案通常取决于应用的复杂性、团队偏好以及您需要解决的具体问题。

要开始探索可用的选项,请查看 #state-management 主题的 pub.dev 网站,并完善搜索以查找符合您需求的包。