flutter裡面最重要的應該就是:狀態管理剛開始做的乙個問題,statefulwidget的狀態應該被誰管理?widget本身?父widget?還是其他物件?以下是管理狀態的最常見的方法:
舉個例子:比如 checkbox 裡面的資料到底是給誰管理比較方便
官方的原則是:
因此,如果是checkbox,那麼 選中狀態應該是讓外部來管理,如果是顏色,樣式等應該是讓 widget本身管理。。
看起來挺美好的,但是在開發過程中還是可能遇到問題。
ui類似:
按上面的原則,應該是把 widget設定為 statelesswidget, 然後資料交由外部管理。 但是這個例子比較特殊,如果按上面的原則來實現會變的複雜。
因此 是內部和外部都會改變 currentpage的資料狀態。 後面是採用了混合管理方式。
特別要注意的時候,混合管理的時候,要記得在: didupdatewidget,裡面重新設定資料;
@override
void didupdatewidget(photogrid oldwidget)
}
void loadmore(assetpathentity pathentity) async else );}}
這個圖很關鍵,可以看到,每次重新buildwidget的時候都會 呼叫 didupdatewidget。因此新的資料,可以再此賦值 Flutter狀態管理初探
本篇文章的主要內容是對flutter中狀態管理的方式及不同方式的選擇進行介紹。本文首發於我的個人部落格 技術公館 wcc.im flutter狀態管理初探 常見的狀態管理方式有三種,分別是由widget自身進行管理,由父widget進行管理和由widget自身及父widget混合進行管理。在對三種常...
Flutter區域性狀態管理
如前面所說,它其實對子widget進行了一次包裝,提供data,proxywidget定義了如何包裝widget inheritedwidget proxywidget widget 在widget樹建立的時候,會通過builderowner建立inheritedelement,由inherited...
Flutter 基礎元件 狀態管理
乙個永恆的主題,狀態 state 管理 無論是在react vue 兩者都是支援響應式程式設計的web開發框架 還是flutter中,他們討論的問題和解決的思想都是一致的。乙個問題,statefulwidget的狀態應該被誰管理?widget本身?父widget?都會?還是另乙個物件?答案是取決於實...