Passing data to StatefulWidget and accessing it in it's state in Flutter
To use recordObject in _RecordPageState, you have to just write widget.objectname like below
class _RecordPageState extends State<RecordPage> { @override Widget build(BuildContext context) { ..... widget.recordObject ..... }}
Full Example
You don't need to pass parameters to State using it's constructor.You can easily access these using widget.myField.
class MyRecord extends StatefulWidget { final String recordName; const MyRecord(this.recordName); @override MyRecordState createState() => MyRecordState();}class MyRecordState extends State<MyRecord> { @override Widget build(BuildContext context) { return Text(widget.recordName); // Here you direct access using widget }}
Pass your data when you Navigate screen :
Navigator.of(context).push(MaterialPageRoute(builder: (context) => MyRecord("WonderWorld")));
class RecordPage extends StatefulWidget { final Record recordObject; RecordPage({Key key, @required this.recordObject}) : super(key: key); @override _RecordPageState createState() => new _RecordPageState(recordObject);}class _RecordPageState extends State<RecordPage> { Record recordObject _RecordPageState(this. recordObject); //constructor @override Widget build(BuildContext context) {. //closure has access //..... }}