Me pregunto cuál es la forma recomendada de pasar datos a un widget con estado, mientras se crea.
Los dos estilos que he visto son:
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;
}
}
Este método mantiene un valor en ServerInfo
y _ServerInfoState
, lo que parece un poco derrochador.
El otro método es utilizar 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;
}
}
Esto parece un poco al revés, ya que el estado ya no se almacena _ServerInfoSate
en el widget, sino que lo hace.
¿Existe una buena práctica para esto?
ServerInfo(this._server);