Passing data to StatefulWidget and accessing it in it's state in Flutter Passing data to StatefulWidget and accessing it in it's state in Flutter dart dart

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   //.....  }}