クエリパラメータやパスパラメータはonGenerateRouteを使えば取得可能な模様
雑ですが、下記のような形で実装すればFlutter Webでもクエリパラメータは取得できます。
settingsにパスが入るので、それをクエリパラメータの部分と純粋なパス部分に分割して処理すればいけます。
RouteSettingsを使用すれば、URLもそれに応じて変わるようなので、URL共有して同じページが見れるようになります。
パスパラメータも同様の方法で可能だと思います。
return MaterialApp(
onGenerateRoute: (settings) {
var paths = settings.name.split('?');
var path = paths[0];
var queryParameters = Uri.splitQueryString(paths[1]);
if (path == PassArgumentsScreen.routeName) {
return MaterialPageRoute(
settings: RouteSettings(name: settings.name), // これによりURLが変わる
builder: (context) {
return PassArgumentsScreen(
title: queryParameters['title'],
message: queryParameters['message'],
);
},
);
}
},
title: 'Navigation with Arguments',
home: HomeScreen(),
);
Flutter WebでWeb固有のものはどうなっていくんだろう?🤔