推送路由之间的 Flutter 参数持久性

Flutter argument persistence between pushed routes

所以我正处于我正在做的下一个应用程序的十字路口。我有 4 条路线,每条路线都添加了一个新参数,这些参数将在最终屏幕上捆绑在一起。

假设有四条路线,我调用了这三个函数(从路线 1 开始)

Navigator.pushNamed(context, 'route2', arguments: <String, String>{'foo': 'bar'});
Navigator.pushNamed(context, 'route3', arguments: <String, String>{'fizz': 'buzz'});
Navigator.pushNamed(context, 'route4', arguments: <String, String>{'mumbo': 'jumbo'});

我可以访问最终路由中的所有参数吗?我可以访问 'foot'、'fizz' 和 'mumbo'

AFAIK,您必须使用小部件的上下文在路由的小部件中提取路由的参数,例如

final args = ModalRoute.of(context).settings.arguments;

因此,您为其定义参数的参数之外的路由参数将无法访问这些参数。例如,route3 将无法使用为 route1.

定义的参数 foo

为了回答您的问题,您将无法访问最终路由中的所有这些参数,因为这些参数不是为该最终路由定义的。您可能希望为此使用状态管理。