Madea-K Dev

プログラムのメモや日々思ったことなど

< 35歳迄に起業し1000万円以上稼ぐ >

Stateful Widget Lifecycle

1.createState()

FlutterがStatefulWidgetの構築を指示されると、すぐにcreateState()を呼び出します。
このメソッドが存在する必要があります。

2.mounted is true()

createStateが状態クラスを作成すると、buildContextがその状態に割り当てられます。
※buildContextとは端的に言うと、各WidgetのWidget Tree上の位置(そのWidgetがどこにあるのか)を制御するためのクラスです。

3.initState()

これは、ウィジェットの作成時に呼び出される最初のメソッドです(もちろん、クラスコンストラクターの後)。
initStateは一度だけ呼び出されます。また、super.initState()を呼び出す必要があります。

4.didChangeDependencies()

didChangeDependenciesメソッドは、ウィジェットが最初に構築されたときにinitStateの直後に呼び出されます。
また、このウィジェットがデータに依存するオブジェクトが呼び出されるたびに呼び出されます。

5.build()

このメソッドは頻繁に呼び出されます(fps +レンダリングと考えてください)。
これは必須の@overrideであり、ウィジェットを返す必要があります。

6.didUpdateWidget(Widget oldWidget)

didUpdateWidget()は、親ウィジェットが変更され、このウィジェットを再構築する必要がある場合(異なるデータを提供する必要があるため)に呼び出されますが、同じruntimeTypeで再構築されると、このメソッドが呼び出されます。

7.setState()

‘setState()’メソッドは、Flutterフレームワーク自体および開発者から頻繁に呼び出されます。
これは、「データが変更された」ことをフレームワークに通知するために使用され、このビルドコンテキストでウィジェットを再構築する必要があります。

8.deactivate()

これはめったに使用されません。
‘deactivate()’は、Stateがツリーから削除されるときに呼び出されます。

9.dispose()

Stateオブジェクトが削除されると、「dispose()」が呼び出されます。これは永続的です。
このメソッドは、すべてのアニメーション、ストリームなどをサブスクライブ解除およびキャンセルする場所です。

10.mounted is false

状態オブジェクトは再マウントできず、setState()が呼び出されるとエラーがスローされます。

参考

https://tech-rise.net/what-is-lifecycle-of-state/
https://flutterbyexample.com/stateful-widget-lifecycle/

/ Dart-Flutter

×