Go Router 사용

테디준·2022년 11월 2일
0

1. 언제 Go Router 를 쓰나?

각 화면에 직접 주소를 써서 링크를 걸거나, 여러 개의 Navigator widget이 있을 경우 더 나은 기능을 위해 Flutter에선 Go Router 사용을 권장한다.

Go Router 사용을 위해선 우선 go_router 라이브러리를 깔아야 하고, main.dart화면에 아래와 같이 세팅해줘야 한다.

MaterialApp.router(
  routerConfig: router
);

2. routes 파일을 만들어서 path를 설정한다.

final GoRouter router = GoRouter(
  routes: <GoRoute>[
    GoRoute(
        path: '/',
        builder: (BuildContext context, GoRouterState state) {
          return ScreenA();
        },
     ),
  ],
);

3. Provider를 적용할 때 각각의 GoRoute안에 세팅한다.

final GoRouter router = GoRouter(
  routes: <GoRoute>[
    GoRoute(
      path: '/',
      builder: (BuildContext context, GoRouterState state) {
          return ChangeNotifierProvider(
          create: (_) => MainViewModel(),
          child: const MainScreen(),
        );
      },
    ),
  ],
);

0개의 댓글