您需要确保
context
您正在使用的是有效的,并且来自Navigator小部件的子部件。在您的代码中,您使用
上下文
来自
build
的方法
MyApp
小装置。然而,由于
MyApp
是
StatelessWidget
是你的应用程序的根,它没有
Navigator
祖宗
要解决此问题,您可以将
ElevatedButton
用一个
Builder
小装置。这个
建设者
小部件创建一个新的
BuildContext
那是最近的后裔
Navigator
祖宗
body: Builder(
builder: (context) {
return ElevatedButton(
child: Text('Navigate'),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => AboutScreen(),
),
);
},
);
}
),