flutter參數及生命週期

參數

按照慣例,widget的構造函數參數應使用命名參數,命名參數中的必要參數要添加@required標註,這樣有利於靜態代碼分析器進行檢查。另外,在繼承widget時,第一個參數通常應該是Key,另外,如果Widget需要接收子Widget,那麼child或children參數通常應被放在參數列表的最後。同樣是按照慣例,Widget的屬性應儘可能的被聲明爲final,防止被意外改變。

build方法有一個context參數,它是BuildContext類的一個實例,表示當前widget在widget樹中的上下文,每一個widget都會對應一個context對象(因爲每一個widget都是widget樹上的一個節點)。實際上,context是當前widget在widget樹中位置中執行”相關操作“的一個句柄,比如它提供了從當前widget開始向上遍歷widget樹以及按照widget類型查找父級widget的方法。

生命週期

initState:當Widget第一次插入到Widget樹時會被調用

didChangeDependencies():當State對象的依賴發生變化時會被調用

build():此回調讀者現在應該已經相當熟悉了,它主要是用於構建Widget子樹的,會在如下場景被調用:
在調用initState()之後。
在調用didUpdateWidget()之後。
在調用setState()之後。
在調用didChangeDependencies()之後。
在State對象從樹中一個位置移除後(會調用deactivate)又重新插入到樹的其它位置之後。

reassemble():此回調是專門爲了開發調試而提供的,在熱重載(hot reload)時會被調用,此回調在Release模式下永遠不會被調用。
didUpdateWidget():在widget重新構建時,Flutter framework會調用
deactivate():當State對象從樹中被移除時,會調用此回調。
dispose():當State對象從樹中被永久移除時調用;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章