StatefulElement<T> クラス
StatefulWidgetと、そのライフサイクルを担うStateを結び付けて管理するElementです。
名前空間: FloatSoda.Elements
アセンブリ: FloatSoda.dll
public class StatefulElement<T> : ComponentElement, IBuildContext, IComparable<Element> where T : StatefulWidget<T>型パラメーター
Section titled “型パラメーター”T
このElementが管理するStatefulWidgetの型。
object ← Element ← ComponentElement ← StatefulElement<T>
実装するインターフェイス
Section titled “実装するインターフェイス”IBuildContext, IComparable<Element>
継承したメンバー
Section titled “継承したメンバー”ComponentElement.Mount(Element?), ComponentElement.FirstBuild(), ComponentElement.PerformRebuild(), ComponentElement.Build(), ComponentElement.VisitChildren(Action<Element>), Element.Widget, Element.Parent, Element.Depth, Element.RenderObject, Element.InheritedWidgets, Element.Dependencies, Element.Owner, Element.DependOnInheritedWidgetOfExactType<T>(), Element.GetElementForInheritedWidgetOfExactType<T>(), Element.UpdateInheritance(), Element.InDirtyList, Element.Dirty, Element.VisitChildren(Action<Element>), Element.Mount(Element?), Element.Slot, Element.UpdateChild(Element?, Widget?), Element.UpdateChild(Element?, Widget?, object?), Element.UpdateSlotForChild(Element, object?), Element.UpdateSlot(object?), Element.Update(Widget), Element.InflateWidget(Widget, object?), Element.AttachRenderObject(), Element.DetachRenderObject(), Element.DeactivateChild(Element), Element.Deactivate(), Element.DidChangeDependencies(), Element.MarkNeedsBuild(), Element.Reassemble(), Element.Rebuild(), Element.PerformRebuild(), Element.CompareTo(Element?), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
拡張メソッド
Section titled “拡張メソッド”ServiceScopeExtension.GetRequiredService<T>(IBuildContext), ServiceScopeExtension.GetService<T>(IBuildContext)
このElementが所有するStateを取得します。
public State<T> State { get; }プロパティの値
Section titled “プロパティの値”State<T>
Stateはマウント時に生成され、Elementがツリーから恒久的に外れるまで保持されます。
Build()
Section titled “Build()”所有するStateから子Widgetを構築します。
public override Widget Build()Stateが構築した子Widget。
Deactivate()
Section titled “Deactivate()”このElement(=State)がツリーから恒久的に取り除かれるときに呼ばれる。 子を先に非活性化してから自身のStateを破棄することで、深い側から順に解放される。 再活性プールを持たない現状のツリーでは Deactivate が終端(unmount相当)となる。
protected override void Deactivate()DidChangeDependencies()
Section titled “DidChangeDependencies()”依存するInheritedWidgetの変更を次の再構築時にStateへ通知するよう予約します。
public override void DidChangeDependencies()FirstBuild()
Section titled “FirstBuild()”Stateの初期化と初回の依存変更通知を行った後、最初のWidget構築を実行します。
public override void FirstBuild()Mount(Element?)
Section titled “Mount(Element?)”WidgetからStateを生成して相互に関連付けた後、Elementツリーへ接続します。
public override void Mount(Element? parent)パラメーター
Section titled “パラメーター”parent Element?
接続先の親Element。ルートとして接続する場合はnull。
PerformRebuild()
Section titled “PerformRebuild()”保留中の依存変更をStateへ通知した後、Stateから子Widgetを再構築します。
public override void PerformRebuild()Update(Widget)
Section titled “Update(Widget)”管理するStatefulWidgetを置き換え、Stateへ更新前のWidgetを通知して直ちに再構築します。
public override void Update(Widget newWidget)パラメーター
Section titled “パラメーター”newWidget Widget
既存のStateを引き継ぐ新しいStatefulWidget。
StatefulWidget<T>, State<T>