ステートフルウィジェットを作成するときに、それをデータに渡すための推奨される方法は何でしょうか。
私が見た2つのスタイルは次のとおりです。
class ServerInfo extends StatefulWidget {
Server _server;
ServerInfo(Server server) {
this._server = server;
}
@override
State<StatefulWidget> createState() => new _ServerInfoState(_server);
}
class _ServerInfoState extends State<ServerInfo> {
Server _server;
_ServerInfoState(Server server) {
this._server = server;
}
}
この方法は、両方値を保持ServerInfo
し、_ServerInfoState
少し無駄思われます。
他の方法は使用することwidget._server
です:
class ServerInfo extends StatefulWidget {
Server _server;
ServerInfo(Server server) {
this._server = server;
}
@override
State<StatefulWidget> createState() => new _ServerInfoState();
}
class _ServerInfoState extends State<ServerInfo> {
@override
Widget build(BuildContext context) {
widget._server = "10"; // Do something we the server value
return null;
}
}
状態はもはや_ServerInfoSate
ウィジェットに保存されず、代わりに保存されるため、これは少し逆のようです。
このためのベストプラクティスはありますか?
この質問は以前に尋ねられました:stackoverflow.com/questions/50428708/…–
—
Blasanka
これはあなたの質問に答えますか?StatefulWidgetにデータを渡し、Flutterの状態でデータにアクセスする
—
ムーンベイダー
この回答は、このいずれかの前に1ヶ月追加されます:stackoverflow.com/questions/50428708/...
—
Blasanka
これはあなたの質問に答えますか?コンストラクターを使用せずにStatefulWidgetデータをStateクラスに
—
渡す
ServerInfo(this._server);