Tengo 2 pantallas en mi aplicación Flutter: lista de registros y pantalla para crear y editar registros.
Si paso el objeto a la segunda pantalla, significa que voy a editar esto y si paso nulo, significa que estoy creando un nuevo elemento. La pantalla de edición es un widget con estado y no estoy seguro de cómo usar este enfoque https://flutter.io/cookbook/navigation/passing-data/ para mi caso.
class RecordPage extends StatefulWidget {
final Record recordObject;
RecordPage({Key key, @required this.recordObject}) : super(key: key);
@override
_RecordPageState createState() => new _RecordPageState();
}
class _RecordPageState extends State<RecordPage> {
@override
Widget build(BuildContext context) {
//.....
}
}
¿Cómo puedo acceder a recordObject dentro de _RecordPageState ?

Respuestas:
Para usar recordObject en _RecordPageState, solo tiene que escribir widget.objectname como se muestra a continuación
fuente
recordObjectser parte de laStateclase? Lógicamente, tenerlo dentroStatefulWidgetes incorrecto (en términos de cohesión). Además, todos los campos deStatefulWidgetdeben ser inmutables. ¿Qué pasa si desea cambiar larecordObjectreferencia?Text(widget.recordObject), dice que mi var es nulafuente
recordObjectcampo tanto enStateyStatefulWidgetclases es tal idea de una buena (aunque vi tutoriales haciendo exactamente esto). El enfoque de acceder a los camposStatefulWidgetmediante el uso de unwidgetcampo deStateclase parece un enfoque más correcto (a pesar de que tiene sus propios problemas)Ejemplo completo
No es necesario pasar parámetros a State usando su constructor. Puede acceder fácilmente a estos utilizando widget.myField .
Pasa tus datos cuando navegas por la pantalla:
fuente