Flutter AutoRoute v6.X.X named навигация
Всем привет, решил использовать библиотеку auto_route для реализации навигации в приложении, которое использует botton_navigation_bar
Однако никак не могу понять как использовать навигацию с параметрами в пути
Объясню на примере: есть bottomnavigationbar c первой вкладкой home. при клике на один из его элементов (продуктов) можно "провалиться" на страничку с подробной информацией о продукте
@RoutePage(name: 'EmptyHomeRouter')
class EmptyHomeRouterPage extends AutoRouter {
const EmptyHomeRouterPage({super.key});
}
@AutoRouterConfig(replaceInRouteName: 'Page,Route')
class AppRouter extends _$AppRouter {
@override
List<AutoRoute> get routes => [
AutoRoute(
page: MainRoute.page,
initial: true,
path: '/',
children: [
AutoRoute(
path: 'home',
page: EmptyHomeRouter.page,
children: [
AutoRoute(path: '', page: HomeRoute.page),
AutoRoute(path: ':id', page: ProductRoute.page),
],
)
...
Страничка продукта:
@RoutePage()
class ProductPage extends StatelessWidget {
const ProductPage({
Key? key,
@PathParam() required this.id,
}) : super(key: key);
final int id;
...
Если использовать для навигации строку ниже, то все работает, переходим на страницу продукта
context.router.push(ProductRoute(id: product.id));
Однако никак не могу понять как использовать named навигацию через пути. Не работает:
context.router.pushNamed('/home/${id}')
Источник: Stack Overflow на русском