問題タブ [statefulwidget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - StatefulWidget で State オブジェクトが破棄されるのはいつですか?
Flutter のモットーの 1 つは、ウィジェットは不変であり、すぐに再構築される可能性があるということです。StatefulWidget の理由の 1 つは、付随する State オブジェクトです。これは、個々のbuild()
メソッド呼び出しを超えて「ハングアラウンド」します。このようにして、ウィジェット自体が再構築されているときに、テキスト値、チェックボックスの選択を維持できます。
しかし、State オブジェクト自体はいつ破棄されるのでしょうか。関連するウィジェットがウィジェット ツリーから削除されたときですか? ナビゲーターを使用して新しいウィジェットに移動する場合、正確にはどのような状況で発生しますか? TabBar の別のエントリに移動するときは?
ウィジェットが実際にウィジェット ツリーから削除され、関連付けられた状態が破棄されるシナリオは、私には少しあいまいです。PageStorageKeys などで適切な措置を講じることができるように、State オブジェクトが消失する可能性があることに注意する必要がある他の状況は何ですか?