getx를 이용해서 라우팅을 하려다가 도대체 무엇을 써야할지 고민이 돼서 고민을 했다.
Future<T?>? to<T>(
dynamic page, {
bool? opaque,
Transition? transition,
Curve? curve,
Duration? duration,
int? id,
String? routeName,
bool fullscreenDialog = false,
dynamic arguments,
Bindings? binding,
bool preventDuplicates = true,
bool? popGesture,
double Function(BuildContext context)? gestureWidth,
}){}
Future<T?>? toNamed<T>(
String page, {
dynamic arguments,
int? id,
bool preventDuplicates = true,
Map<String, String>? parameters,
}) {}
named방식을 이용할 경우 해당 네임이 어디로 라우팅 되야 하는지 미리 설정해 주어야 한다. name과 page이외에도 여러가지 설정을 할 수 있다.
e.g.
getPages: [
GetPage(name: name, page: page),
]
네임드 방식의 경우 미리 해당 페이지로 넘어갈 경우에 어떻게 할지 설정을 미리미리 정해 놓을수 있는 방식이고 to방식의 경우 그때그때 설정을 해주는 방식이다. 결론적으로 자주 쓰는 라우팅 방식의 경우 네임드로 정해 놓고 쓰면 될것 같다.
그 외에 네임드의 경우 query parameter나 path parameter를 사용할 수 있다.
e.g.
GetPage(name: 'path/:pathparam?queryParam=value', page...
---
Get.parameter['pathparam'];
하지만 arguments를 사용하면 별반 다르지 않다.
나는 포매팅을 한번씩 해서 해당 페이지마다 적절한 라우팅 방법을 미리 정해 놓고 클래스 확장을 시킬 예정이다.