작성
·
323
·
수정됨
0
[ 질문1 ]
7_query_parameter.dart 에서 ~of(context). 다음에 queryParameters가 자동으로 뜨지 않습니다. 6번의 pathPameters는 떠서 구현했는데, 이건 안뜨네요, 그래서 ~.uri.queryParameters로 하니까 떠서 일단 이걸로 선택해봤습니다. 그랬더니 화면이 조금 차이가 있었습니다.
일단 코드입니다.
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({super.key});
@override
Widget build(BuildContext context) {
return DefaultLayout(
body: ListView(
children: [
Text(
'Query Parameter : ${GoRouterState.of(context).uri.queryParameters}'),
// /query_parameter?utm=google&source=123
// /query_parameter?name=codefactory&age=32
ElevatedButton(
onPressed: () {
context.push(
Uri(
path: '/query_param',
queryParameters: {
'name': 'codefactory',
'age': '32',
},
).toString(),
);
},
child: Text(
'Query Parameter',
),
),
],
),
);
}
}
그리고 이건 화면인데요, title 뒤에 길게 이어진 text가 없습니다.그리고 버튼을 누를때마다 아래와 같은 페이지만 반복적으로 뜹니다.
[ 질문2]
go nest에서 네비게이션의 selectColor와 실제 선택이 일치하지 않습니다.ㅠㅠ 코드를 여러번 검토하며 뭐가 틀렸는지 수없이 봤는데, 못찾았습니다..
답변 2
0
0
안녕하세요!
Go Router v11 이후로 말씀하신대로 uri.queryParameters로 변경이 되었습니다.
그리고 AppBar에 query parameter가 더이상 뜨지 않는 이유는 location을 toString()화 했을때 query parameter는 더이상 포함되지 않도록 됐기 때문입니다. (이 부분은 신경 쓸 필요가 없습니다. uri.queryParameters를 사용해서 가져올 수 있다는 것만 알면 됩니다.)
2번 질문은 정확히 이해를 못하겠습니다. 코드 예제와 함께 다시 질문해주시면 답변 드리도록 하겠습니다.
감사합니다!