Je me demande quelle est la manière recommandée de transmettre des données à un widget avec état, lors de sa création.
Les deux styles que j'ai vus sont:
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;
}
}
Cette méthode conserve une valeur à la fois dans ServerInfo
et _ServerInfoState
, ce qui semble un peu inutile.
L'autre méthode consiste à utiliser 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;
}
}
Cela semble un peu à l'envers car l'état n'est plus stocké dans _ServerInfoSate
mais plutôt dans le widget.
Existe-t-il une meilleure pratique pour cela?
ServerInfo(this._server);