[譯]讓我來幫你理解和選擇Flutter狀態管理方案
This artical is come fromMedium written by Jorge Coca, Thank you Jorge for allowing me translate your awesome article into Chinese
本文來源於Medium,由Jorge Coca撰寫,並准許我翻譯成中文

狀態管理在Flutter中是一個很熱的話題。可選的方案有很多,這可能很好,但卻很容易陷入其中,在專案中選擇最適合方案時感到迷失。我也是,不過我已經找到了適合我的方案,讓我來分享給你。

為了找到適合需求的方案,頭一件事就是確認需求,然後設定目標和期望。對我而言,我定義瞭如下:
- 允許穩定的開發速度,而不犧牲程式碼質量
- 分離展示邏輯和業務邏輯
- 容易理解;難以破壞
- 可預期並且可以廣泛部署
在給定了這些限制後,我們來看看我們可選的方案:
- 使用StatefulWidgets的setState()
- ScopedModel
- BLoC(Business Logic Component)
- Redux
理解本地狀態和全域性狀態的不同
在深入分析不同方案前,有一件事可能會幫助我們更好的理解怎樣選擇——什麼是本地狀態,什麼是全域性狀態