Open1
【学習】Widgetライフサイクルの基礎 (Widget / Element / RenderObject)
これが一番わかりやすい
4:18~ Widget / Element / RenderObjectの関係
- Widgetは画面描画に使用されず、実際に使用されるのはRenderObject
- WidgetからElementが生成され、ElementからRenderObjectが生成される
- RenderObjectを生成できるWidgetは決まっており、StatelessWidget/StatefulWidgetはRenderObjectを生成しない
9:14~ StatelessWidget / StatefulWidgetとRenderObjectの違い
- StatelessWidget/StatefulWidgetは描画をする目的よりも他のWidgetをまとめる様な目的で使用される
- イメージとしてはRenderObjectは具体的に実装が決まっており、Stateless(ful)WidgetはどのRenderObjectを組み合わせて使うかという抽象的なもの
10:35~ 各Widgetを継承して作られているWidget
StatelessWidget
- ハイレベルの抽象的なWidgetが多い → そのままレンダリングされない
StatefulWidget
- 同様にハイレベルの抽象的なWidget
RenderObjectWidget
- 低レベルの部品に近い様な具体的なオブジェクト → そのままレンダリングされる
11:45~ ※重要 Widgetがどの様にRenderObjectを生成するか
- ハイレベルのオブジェクトはビルド時にRenderObjectWidgetに変換され、それが描画に使用される