Flutter 如何修复';请求的自动外部操作的上下文不包括自动外部。';飘飘然?

Flutter 如何修复';请求的自动外部操作的上下文不包括自动外部。';飘飘然?,flutter,flutter-routes,Flutter,Flutter Routes,我正在使用v2.2.0包来处理颤振应用程序中的路由。当我点击按钮进入A/B页时,我得到 AutoRouter operation requested with a context that does not include an AutoRouter. 因为我在MaterialApp.router中使用了一个构建器,所以上下文不应该包括AutoRouter。我在下面添加了代码 飞镖 @MaterialAutoRouter( replaceInRouteName: 'Page,Route

我正在使用v2.2.0包来处理颤振应用程序中的路由。当我点击按钮进入A/B页时,我得到

AutoRouter operation requested with a context that does not include an AutoRouter.
因为我在MaterialApp.router中使用了一个构建器,所以上下文不应该包括AutoRouter。我在下面添加了代码

飞镖

@MaterialAutoRouter(  
  replaceInRouteName: 'Page,Route',  
  routes: <AutoRoute>[  
    AutoRoute(page: MyApp, initial: true),  
    AutoRoute(page: PageA),  
    AutoRoute(page: PageB),  

  ],  
)  
class $AppRouter {} 
此示例是按照提供的文档完成的。
如何解决此问题

将material应用程序生成器中的代码删除到您的主页或其他内容。
您之所以会出现错误,是因为您传递的自定义生成器忽略了传递给生成器的路由器小部件。

我也遇到了相同的错误,在我的示例中,添加
routerDelegate
routeInformationParser
并删除
builder
对我有效

MaterialApp.router(
        routerDelegate: AutoRouterDelegate(
          _appRouter,
          navigatorObservers: () => [AutoRouteObserver()],
        ),
        routeInformationParser: _appRouter.defaultRouteParser(),

默认路径来自
initial:true

这样做是不可能处理基于提供者的路由的,如果您尝试它,您将得到一个默认路径。
class MyApp extends StatelessWidget {
  final _appRouter = AppRouter();

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerDelegate: _appRouter.delegate(),
      routeInformationParser: _appRouter.defaultRouteParser(),
      builder: (context, widget) {
        return Scaffold(
          appBar: AppBar(
            title: Text('Material App Bar'),
          ),
          body: Center(
              child: Column(
            children: [
              ElevatedButton(
                  onPressed: () => context.pushRoute(
                      RouteA()),
                  child: Text('Page A')),
              ElevatedButton(
                  onPressed: () => context.pushRoute(
                      RouteA()),
                  child: Text('Page B'))
            ],
          )),
        );
      },
    );
  }
}
MaterialApp.router(
        routerDelegate: AutoRouterDelegate(
          _appRouter,
          navigatorObservers: () => [AutoRouteObserver()],
        ),
        routeInformationParser: _appRouter.defaultRouteParser(),