StatelessWidget
その名の通り状態を持たないウィジェット
一度画面を描画するとその後状態が変化しない
固定のテキストやアイコン等
最初の画面構築時にコンストラクタが呼び出されてから一度だけbuild()が呼び出される
StatefulWidget
状態を持つウィジェット
ユーザー操作や時間経過によって状態が変化する
チェックボックスやテキストフィールド等
StatefulWidgetは2つのクラスで構成されている
_のついたクラスのオブジェクトを生成
_のついたクラスで具体的な状態を保持
StatefulWidgetは3つのタイミングでbuild()が呼び出される
最初の画面構築時・親ウィジェットの更新時・状態の更新時
StatefulWidgetのライフサイクル
createState()→initState()→build()
didUpdateWidget()→build() :親ウィジェットの更新
setState()→build() :状態の更新
↓
dispose() :状態の破棄 ウィジェットの消失前に
両者のライフサイクル
参考資料