GoRouter
- URL 기반 라우팅 패키지
- 웹/앱 사용
- URL 기반 네비게이션 패키지
- 기능(1)
- templeate syntax 지원
- /post 경로에 id 파라미터 넘기고 싶을 때
- templeate syntax 지원
final router = GoRouter(
initialLocation: '/',
errorBuilder: (context, state) {
return ErrorPage();
},
routes: [
GoRoute(
path: '/',
builder: (context, state) => HomePage(),
routes: [
GoRoute(
path: 'post',
builder: (context, state) => PostListPage(),
routes: [
GoRoute(
path: ':id',
builder: (context, state) {
final id = int.tryParse(state.pathParameters['id'] ?? '');
if (id == null) {
return ErrorPage();
}
return PostDetailPage(id: id);
},
)
],
- 기능(2)
- URL에 query parameter 지원
- 웹에서 페이지 새로고침 했어도 파라미터 유지하고 싶을 때 사용
- ex) /search 경로에 text라는 파라미터 넘기고 싶을 때
- URL에 query parameter 지원
GoRoute(
path: 'search',
builder: (context, state) {
final text = state.uri.queryParameters['text'] ?? '';
if (text.trim().isEmpty) {
return ErrorPage();
}
return SearchPage(text: text);
},
),
- 기능(3)
- 리다이렉트: 특정 조건에서 다른 경로로 쉽게 변경 가능
- 에러페이지: 페이지 경로 잘못 입력했을 때 특정 페이지 보여주기 가능
'TIL' 카테고리의 다른 글
[TIL] Stateful Widget의 LifeCycle (0) | 2024.12.20 |
---|---|
[TIL] pubspec.yaml: A dependency may only have one source. 오류 (0) | 2024.12.20 |
[트러블 슈팅] GPS기반 채팅앱 - 4일차 (1) | 2024.12.17 |
[트러블슈팅] 위치기반 채팅앱 - 3일차 (1) | 2024.12.16 |
[트러블슈팅] 지역기반 채팅 앱-2일차 (0) | 2024.12.13 |