一、Widget
Flutter Widget採用現代響應式框架構建,中心思想是用widget構建你的UI。 Widget描述了他們的視圖在給定其當前配置和狀態時應該看起來像什麼。當widget的狀態發生變化時,widget會重新構建UI,Flutter會對比前後變化的不同, 以確定底層渲染樹從一個狀態轉換到下一個狀態所需的最小更改.
Flutter有一套豐富、強大的基礎widget.
二、Widget生命週期
在Flutter裏面萬物皆是Widget,先介紹一下Widget的生命週期。但是說Widget的生命週期這個說法其實是不準確的。因爲Widget分爲StatefulWidget和StatelessWidget,可變的是StatefulWidget,它的可變又是通過修改State來完成的,在代碼裏面可以看到有@override標識的生命週期方法其實是在繼承於State的狀態類裏面寫的。所以說成是State的生命週期更加準確一點。
完整的生命如圖所有的方法和分階段執行的圖解。
initState - 插入渲染樹時調用,只調用一次
didChangeDependencies - state依賴的對象發生變化時調用
didUpdateWidget - 組件狀態改變時候調用,可能會調用多次
build - 構建Widget時調用
deactivate - 當移除渲染樹的時候調用
dispose - 組件即將銷燬時調用