【 Flutter 】Flutter を 基礎 から 学習 ( Flutterの内部構造 ) part219 ライフサイクル
「 基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は Flutterの内部構造 ( part219 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( Flutterの内部構造 ) part218 ライフサイクル
引き続き、ライブラリについて学びます。
ライフサイクル
StatefulWidget
StateクラスのdidChangeDependenciesメソッド
initState
メソッド内では使用できないcontextを使用する場合にオーバーライドするようです。
ん?前回のinitState
メソッドの説明では本書は以下のように記述していました。
エレメントツリーに追加した後なので、
BuildContext
クラスを使えそうです。
結局initState
メソッドではcontextは使えないのでしょうか🤔
didChangeDependencies
メソッドが呼び出されるタイミングは2か所あります。
initState
が呼び出された直後
おそらくこれはStatefulElement#_firstBuildのstate.didChangeDependencies();
の部分ではないかと思います。InheritedWidget
クラスが先祖にいる かつdependOnInheritedWidgetOfExactType
メソッドを呼び出したState
クラス。
こちらはState
クラスのどこかでdependOnInheritedWidgetOfExactType
を呼び出すとdidChangeDependencies
が実行されるよ。と、言いたいようです。
最後に
dependOnInheritedWidgetOfExactType
を使うと何が実現できるのでしょうか。
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません