我的页面状态混乱。在这里:
class TestPage extends StatefulWidget {
static const String id = 'TestPage';
final String testString;
TestPage(this.testString);
@override
_TestPageState createState() => _TestPageState();
}
class _TestPageState extends State<TestPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(child: Text('Hello ${widget.testString}'))
);
}
}
该页面具有一个构造函数,该构造函数将字符串作为默认值。
final String testString;
在另一个页面上,我打电话给该页面。我想打开它并给它或传递给它一个String值:
Navigator.pushNamed(context, TestPage(myString));
但是,它告诉我:
不能将参数类型“ TestPage”分配给参数类型String。
我在做什么错?这不是实例化此类并使其出现的正确方法吗?
谢谢
答案 0 :(得分:3)
尝试一下,
Navigator.push( context, MaterialPageRoute( builder: (context) => TestPage(testString: 'Hello',), ));