狀態管理方法
狀態管理是一個複雜的話題。如果你覺得有些問題沒有得到解答,或者這些頁面上描述的方法不適用於你的用例,你可能說得對。
請從以下資源中瞭解更多資訊,其中許多資源由 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 主題,並最佳化搜尋以查詢符合你需求的包。