Tôi đang tự hỏi cách được đề xuất để chuyển dữ liệu đến một widget trạng thái, trong khi tạo nó, là gì.
Hai phong cách tôi đã thấy là:
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;
}
}
Phương pháp này giữ một giá trị cả trong ServerInfo
và _ServerInfoState
, có vẻ hơi lãng phí.
Phương pháp khác là sử dụng 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;
}
}
Điều này có vẻ hơi ngược vì trạng thái không còn được lưu trữ trong _ServerInfoSate
mà thay vào đó là trong tiện ích.
Có phương pháp nào tốt nhất cho việc này không?
ServerInfo(this._server);