Mi chiedo quale sia il modo consigliato per passare i dati a un widget con stato durante la creazione.
I due stili che ho visto sono:
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;
}
}
Questo metodo mantiene un valore sia in ServerInfo
che _ServerInfoState
, il che sembra un po 'dispendioso.
L'altro metodo consiste nell'usare 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;
}
}
Questo sembra un po 'indietro poiché lo stato non è più memorizzato _ServerInfoSate
ma invece nel widget.
Esiste una best practice per questo?
ServerInfo(this._server);