//query_parameter?utm=google&source=123
이런 형식을 처리할때 사용하는 Router이다.
ElevatedButton(
onPressed: () {
context.go('/query_param');
},
child: Text('Go Query Parameter'),
),
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:go_router_v7_actual/layout/default_layout.dart';
class QueryParameterScreen extends StatelessWidget {
const QueryParameterScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return DefaultLayout(
body: ListView(
children: [
ElevatedButton(
onPressed: () {
context.push(
Uri(
path: '/query_param',
queryParameters: {
'name': 'codefactory',
'age': '32',
},
).toString(),
);
},
child: Text('Query Parameter'),
),
],
),
);
}
}
Uri 안에 기본 패스를 입력을 할 수 있습니다.
// /query_parameter?name=codefactory&age=32
이런 값으로 전송이가게되고 .toString()을 해주어야한다.
QueryParameter확인하는 방법
Text('Query Parameter : ${GoRouterState.of(context).queryParameters}'),