【问题标题】:How to solve GoRouter.routeInformationProvider missing error?如何解决 GoRouter.routeInformationProvider 丢失错误?
【发布时间】:2022-08-24 19:46:22
【问题描述】:

Flutter 团队给出了以下他们创建的 Flutter 项目,供大家学习。 https://github.com/flutter/codelabs/tree/main/boring_to_beautiful 通过他们的codelab

我克隆了 repo 并尝试启动应用程序。但它会引发以下错误。

════════ 小部件库捕获的异常 构建 IconTheme(color: Color(0xdd000000)) 时抛出了以下断言: 这个 GoRouteInformationParser 需要和 GoRouteInformationProvider 一起使用,你是不是忘记把 GoRouter.routeInformationProvider 传递给 Router 构造函数了? \'package:go_router/src/go_route_information_parser.dart\': 包:go_router/src/go_route_information_parser.dart:1 断言失败:第 148 行第 13 行:\'routeInformation is DebugGoRouteInformation\'

从这个错误消息中,我可以理解 \'routeInformationProvider\' 似乎丢失了。但是,在 Flutter 团队提供的工作演示项目中可以学习吗?我应该通过 routeInformationProvider 吗?如果有任何文档,请。

    标签: flutter


    【解决方案1】:

    只需将 routeInformationProvider 添加到 MaterialApp.router。

    例子:

      final _router = GoRouter(
             ...
      );
    
      @override
      Widget build(BuildContext context) {
          return MaterialApp.router(
              routeInformationProvider: _router.routeInformationProvider,
              ...
           );
       }
    

    【讨论】:

      【解决方案2】:

      只需回到 GoRouter 的 3.1.1 版本即可。最新版好像有问题

      【讨论】:

      • 这不是“问题”,它是最新版本的 go_router 的重大更改。您现在需要将 routeInformationProvider 传递给路由器,非常简单的更改。
      【解决方案3】:

      我也遇到了这个问题,但是使用go_router version: ^4.1.0 并遵循这个guide 问题就解决了。

      【讨论】:

        【解决方案4】:

        MaterialApp 根处添加routeinformationProvider

        MaterialApp.router(
          routeInformationProvider: goRouter.routeInformationProvider,//Add this line
          routerDelegate: goRouter.routerDelegate,
          routeInformationParser: goRouter.routeInformationParser,
          debugShowCheckedModeBanner: false,
          theme: ThemeData(
            primarySwatch: Colors.amber,
          ),
        );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-07-08
          • 1970-01-01
          • 2019-06-20
          • 1970-01-01
          • 2020-10-09
          • 2015-08-22
          • 1970-01-01
          相关资源
          最近更新 更多