InheritedWidgetは、Flutterフレームワーク自身を構成する根幹となるWidgetの1つです。また、通常のアプリケーションコードでも、自前で継承したWidgetを組むかあるいはそれをラップしたproviderパッケージなど経由でよく使われています。 ただ、InheritedWidgetの役割や正確な挙動を掴むのが意外と難しいため、本記事ではそれを丁寧に説明していきます。分かりやすい説明が不足している問題だと思っていて、InheritedWidgetは本質的にはシンプルです。 TL;DRInheritedWidgetとは何かというと、ざっくり以下のように説明できます。 下位ツリーから直近のInheritedWidgetに O(1) でアクセスできる必要な時に限定して変更を下位ツリー内の特定のWidgetのみに伝播する(リビルドを発生させる)ことができるその特性を活かすためにS