0

I'm new in flutter and I trying to build a navigation graph using the package go_router.

I have three screen, list, detail, favorites. You can navigate to detail screen from list screen and favorite screen.

If I build the graph this way, I'm "duplicate" the detail screen GoRoute.

Does anyone know another better option?

final router = GoRouter(
  routes: [
    GoRoute(
        path: '/',
        name: AppScreens.list.name,
        builder: (context, state) => const ScreenList(),
        routes: [
          GoRoute(
            path: 'detail/:id_character',
            name: AppScreens.characterDetailFromList.name,
            builder: (context, state) {
              final int characterId = int.parse(state.pathParameters['id_character']!);
              return ScreenCharacterDetail(idCharacter: characterId);
            }
          ),
          GoRoute(
              path: 'favorites',
              name: AppScreens.charactersFavorite.name,
              builder: (context, state) => const ScreenCharactersFavorites(),
              routes: [
                GoRoute(
                    path: 'detail_from_favorites/:id_character',
                    name: AppScreens.characterDetailFromFavorites.name,
                    builder: (context, state) {
                      final int characterId = int.parse(state.pathParameters['id_character']!);
                      return ScreenCharacterDetail(idCharacter: characterId);
                    }
                )
              ]
          ),
      ]
    ),
  ]
);

0 Answers0