2017-05-09 8 views

答えて

5

StatefulWidgetfinalメンバーフィールド(コンストラクタ引数を介して渡される)を格納してパブリックにする必要があります。

StatefulWidgetに関連付けられているStateは、デフォルトのコンストラクタ(引数なし)のみを使用し、メンバーフィールドはプライベート(_で始まり)で変更可能である必要があります。高価な作業や非同期作業が必要な場合は、インラインまたはinitStateに初期化してください。

このパターンはStatefulWidgetが前のStateを再利用し、それはその可変メンバフィールドに格納された値を維持させながらその両親が、setStateを呼び出すときに、新しいコンストラクタ引数で再構築/再作成することができます。

+0

最終ストリームの定期購読はどうですか?サービスまたはインジェクタクラスから取得されます。 – DogeLion

+0

StatefulWidgetとそれに関連付けられた状態を構築することは、副作用があってはなりません。ウィジェットを初期化するための副作用がある作業を行っている場合は、initState()でそれを行い、変更可能なメンバー変数に保存する必要があります。 dispose()であなた自身の後をきれいにしてください。 –

関連する問題