Как использовать 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 ?