やりたいこと。
StatefulWidgetの初期化時にcontextにアクセスしたい
結論
できません。
代替案
didChangeDependenciesを使用します。
Stateのライフサイクルは
- createState
- initState
- didChangeDependencies
のように進みます。
3のdidChangeDependenciesはinitStateの直後に呼ばれます。
ここでは、contextにアクセスが必要なInheritedWidget由来のinheritFromWidgetOfExactType
にアクセスすることができます。
didChangeDependenciesの公式ドキュメントより、
This method is also called immediately after initState. It is safe to call BuildContext.inheritFromWidgetOfExactType from this method.
@override
void didChangeDependencies() {
super.didChangeDependencies();
final String hoge = fuge.of(context).piyo;
}