概要
Flutter の 2 つのウィジェット、StatelessWidget、StatefulWidget についてまとめてみました。
特に StatefulWidget のライフサイクルについて深掘りしてみました。
StatelessWidget とは
- 状態を持たないウィジェット
- 一度描画されるとその後、状態が変化しない
- 例)固定のテキスト表示、アイコン・画像など
StatefulWidget とは
- 状態を持つウィジェット
- ユーザーの操作や時間の経過などによって、状態が変化し、見た目や振る舞いが変わる
- 例)チェックボックス、テキストフィールド、カウンターアプリなど
StatefulWidget のライフサイクルについて
ここでは StatefulWidget のライフサイクルについて深掘りしていきたいと思います。
緑の図形で記載したのが状態、青の図形で記載したのが各状態で呼び出されるメソッドになります。
各メソッドの説明
メソッドの簡単な説明は以下になります。
-
createState()
- State オブジェクトを作成する
-
initState()
- 初期化処理を記述する
-
didChangeDependencies()
- 依存するオブジェクトが変更された時に呼び出される
-
build()
- 画面描画を行う。
-
didUpdateWidget()
- 親ウィジェットが更新された時に呼び出される
-
setState()
- 状態が変わったことを通知し、画面を再描画する。
-
dispose()
- 使用されなくなったリソースの解放やクリーンアップ処理を記述する。