Ich frage mich, wie die empfohlene Methode zum Übergeben von Daten an ein zustandsbehaftetes Widget beim Erstellen empfohlen wird.
Die zwei Stile, die ich gesehen habe, sind:
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;
}
}
Diese Methode behält einen Wert sowohl in ServerInfo
als auch bei _ServerInfoState
, was etwas verschwenderisch erscheint.
Die andere Methode ist zu verwenden 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;
}
}
Dies scheint etwas rückwärts zu sein, da der Status nicht mehr _ServerInfoSate
im Widget gespeichert wird, sondern im Widget.
Gibt es dafür eine bewährte Methode?
ServerInfo(this._server);