有没有办法将 Map() 对象传递给不同屏幕中的不同有状态小部件?

Is there a way to pass a Map() object to different stateful widget in different screens?

例如, 我在 main.dart.

中有一个简单的 Map()

我有 3 个带有不同状态小部件的屏幕,

screen1.dart => 屏幕 1()

screen2.dart => Screen2()

screen3.dart => Screen3()

在main.dart

var people1 = {

name:”Peter”,
age:20,

}
Main(){
  runApp(screen1(people1));
}

=========================

screen1.dart

(导入main.dart)

class Screen1 extends StatefulWidget {
  @override
  _Screen1State createState() => _Screen1State();
}


class _Screen1State extends State<Screen1> {

  @override
  Widget build(BuildContext context) {
    return Container(Text(“${people.age}”);
  }
}

我无法在其他屏幕中获取 people.age。即使我导入了飞镖文件。 如何在其他屏幕上转移到有状态的小部件?

您必须在 Screen1 中创建构造函数

class Screen1 extends StatefulWidget {  
  final Map people;

  const Screen1(this.people);

然后像这样在你的 statefull class Screen1 中访问它

widget.people.age

如果您的 Screen1 是无状态的,那么您可以通过

简单地访问它
people.age