Flutter 狀態管理 實踐記錄

2021-10-06 19:34:24 字數 827 閱讀 8808

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?都會?還是另乙個物件?答案是取決於實...