본문 바로가기

flutter앱개발과정

flutter 심화 GoRouter

Flutter GoRouter 

기존에는 Navigator로 라우팅을 처리했었는데, 페이지가 많아지니까 코드가 지저분해지고 관리하기가 힘들었다. 그런데 GoRouter를 쓰니까 구조도 깔끔하고 생각보다 너무 편하다고 느껴졌다.

 

GoRouter

Flutter용 라우팅 도우미.
화면 전환할 때 URL 기반으로도 되고, 구조화도 잘되고, context.go() 이런 식으로 라우팅도 간편하게 처리할 수 있음.

내가 느낀 장점은 딱 이거다:

  • 코드 깔끔해짐
  • 웹/앱 둘 다 호환 잘됨
  • 구조가 눈에 잘 보임
  • 나중에 수정할 때 훨씬 쉽다
 

설치

dependencies:
  go_router: ^6.0.0 
  
  또는
  터미널에서
  
  flutter pub add go_router
예제
final GoRouter _router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (context, state) => const HomePage(),
    ),
    GoRoute(
      path: '/about',
      builder: (context, state) => const AboutPage(),
    ),
  ],
);

앱은 이렇게 만들고,

MaterialApp.router(
  routerConfig: _router,
);

페이지 이동은 그냥 context.go('/about') 이렇게 하면 됨.

써보면서 좋았던 점

  • 라우터 설정이 딱 보기 좋게 정리됨
  • URL 구조로 앱 동작도 바로 보이고
  • 웹이랑도 잘 맞아서 이제 Flutter 웹도 좀 해보고 싶어짐