Как использовать go_router для обновления пути с помощью BottomNavigationBar во Flutter?

То, что у меня есть до сих пор, это обновляет область выше на основе int значение, заменив его одним из виджетов из списка ниже:

      List<Widget> mainScreen = <Widget>[ const EventsScreen(), const NotificationsScreen(), const ProfileScreen() ];

Теперь проблема в том, что будет пять разных экранов, которые должны быть доступны по следующим путям:

#/signin, #/signup

#/events, #/notifications, #/profile

Хотя я уже реализовал первые два пути, поскольку это всего лишь простые экраны, которые следует заменять друг другом при переходе к ним (см. Ниже):

      GoRoute(
  name: 'signin',
  path: '/signin',
  pageBuilder: (BuildContext context, GoRouterState state) {
    return MaterialPage(
      key: state.pageKey,
      child: const SignInScreen()
    );
  }
)

//context.goNamed('signin');

последние три пути принадлежат BottomNavigationBar, что означает, что путь должен обновляться, но не весь экран должен быть перемещен. Вместо этого только часть над BottomNavigationBar следует обновить.

Важно то, что я не хочу добавлять что-то впереди, чтобы получилось что-то вроде #/AUTH/signin или #/MAIN/events

Как я могу заставить это работать с пакетом go_router ?

0 ответов

Другие вопросы по тегам