auto Route:嵌套导航器错误([RootRouter Router] Router不能导航到),Flutter



flutter Auto_route包在flutter 2.5.2的巢路由上不工作,我已经将我的路由文件命名为不同的路由器。如果与默认的路由设置混淆,找不到任何解决方案。

import 'package:auto_route/auto_route.dart';
import 'package:flutteraoutroutepackage/pages/pages.dart';
@MaterialAutoRouter(
replaceInRouteName: 'Page,Route',
routes: <AutoRoute>[
//HomePage route
AutoRoute(
path: '/',
page: HomePage,
initial: true,
children: [
//books route
AutoRoute(
path: "books",
name: "BooksRouter",
page: EmptyRouterPage,
children: [
AutoRoute(path: '', page: BooksPage),
AutoRoute(path: ':bookId', page: BookDetailsPage),
RedirectRoute(path: "*", redirectTo: '')
],
),
],
),
],
)
class $AppRouter {}

首页

import 'package:flutter/material.dart';
import 'package:auto_route/auto_route.dart';
import 'package:flutteraoutroutepackage/routes/app_router.gr.dart';
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
child: const Text('Go to Lists'),
onPressed: () => context.router.push(BooksRoute()),
)),
);
}
}

AutoRouter.of(context)。push(BooksRouter(children: [BooksRoute()])https://autoroute.vercel.app/basics/nested_routes

最新更新