状态管理方法
状态管理是一个复杂的话题。如果你觉得有些问题没有得到解答,或者这些页面上描述的方法不适用于你的用例,你可能说得对。
请从以下资源中了解更多信息,其中许多资源由 Flutter 社区贡献。
概述
#在选择方法之前需要回顾的内容。
- 状态管理简介,这是本节的开篇(适用于直接访问此选项页面而跳过前面页面的你)
- Flutter 中的实用状态管理,Google I/O 2019 的视频
- Flutter 架构示例,作者 Brian Egan
内置方法
#setState
#用于特定于 widget 的临时状态的低级方法。
- 向你的 Flutter 应用添加交互性,一个 Flutter 教程
- Google Flutter 中的基本状态管理,作者 Agung Surya
ValueNotifier
和 InheritedNotifier
#一种仅使用 Flutter 提供的 API 来更新状态并通知 UI 更改的方法。
- 使用 ValueNotifier 和 InheritedNotifier 进行状态管理,作者 Tadas Petra
InheritedWidget
和 InheritedModel
#用于在 widget 树中祖先和子代之间进行通信的低级方法。这是 package:provider
和许多其他方法在底层使用的。
以下由讲师指导的视频研讨会涵盖了如何使用 InheritedWidget
其他有用的文档包括
- InheritedWidget 文档
- 使用 InheritedWidgets 管理 Flutter 应用程序状态,作者 Hans Muller
- 继承 Widget,作者 Mehmet Fidanboylu
- 有效使用 Flutter Inherited Widgets,作者 Eric Windmill
- Widget - State - Context - InheritedWidget,作者 Didier Bolelens
社区提供的软件包
#根据你的应用程序的复杂性和团队的偏好,你可能会发现采用状态管理包很有用。状态管理包通常有助于减少样板代码,提供专门的调试工具,并有助于实现更清晰和一致的应用程序架构。
Flutter 社区提供了各种各样的状态管理包。最适合你的应用程序的选择通常取决于应用程序的复杂性、团队的偏好以及你需要解决的具体问题。
要开始探索可用选项,请查看 pub.dev 网站上的 #state-management
主题,并优化搜索以查找符合你需求的包。