//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}'),