我在用Flutter做路由跳转时,想从首页传个用户ID到详情页,但不知道怎么在目标页面拿到这个参数。试过用Navigator.push传参,但接收的时候总是null,是不是哪里写错了?
这是我的跳转代码:
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DetailPage(userId: '123')),
);
然后在DetailPage里我定义了构造函数,但运行时报错说缺少必要参数,是不是应该用别的传参方式?
看一下你是不是漏了 required 关键字:
这样 Navigator.push 那段代码就能正常工作了。
如果你想用 Flutter 推荐的方式(路由传参),也可以这样:
两种方式都能用,第一种直接构造函数传参更简单直接,第二种适合复杂参数或需要统一管理路由的场景。