onGenerateRoute 被多次调用

2024-03-23

在我的主要方法中我有

onGenerateRoute: (route) {
        print(route);
        return Router.generateRoute(route);
      }

如果我输入 URLhttps://myurl.com/#/foo/bar我可以看到打印被调用了多次。

/
/foo
/foo/bar

我有一个问题,因为我想进入bar路径,但它被输入foo反而。

有什么想法我应该如何进行?


情况变得更糟。将 initalRoute 设置为/home/1/2/3/4/5onGenerateRoute 将被调用 7 次。

你可以通过以下方法让它变得不那么可怕:

MaterialApp app;

app = MaterialApp(
    onGenerateInitialRoutes: (initialRoute)=>[app.onGenerateRoute(RouteSettings(name:initialRoute))],
    initialRoute: initial,
    onGenerateRoute: app.onGenerateRoute);

这可以避免您多次调用 Route 的 initState 以及路径中每个“/”一次的 onGenerateRoute 。但是,如果您在浏览器栏中提供路径,仍然会调用 onGenerateRoute 两次。

我已经提交了错误报告:https://github.com/flutter/flutter/issues/71786 https://github.com/flutter/flutter/issues/71786

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

onGenerateRoute 被多次调用 的相关文章

  • Flutter:go_router如何将多个参数传递到其他屏幕?

    在普通颤动中 我用来将多个参数传递到其他屏幕 如下所示 Navigator of context push MaterialPageRoute builder gt CatalogFilterPage list list bloc bloc
  • 在 Dart 中打印不带括号的列表

    我想在打印时从列表中删除括号 Dart Code void main var lst new List 3 for int i 0 i lt 3 i lst i i print lst 电流输出 0 1 2 预期输出 0 1 2 您可以使用
  • Flutter FireAuth 删除 reCAPTCHA 横幅(WEB)

    我正在创建一个 flutter web 应用程序 并使用 firebase auth 通过电话号码对用户进行身份验证 await auth signInWithPhoneNumber phoneNumber 执行此命令后 页面右下角会出现一
  • Flutter:酒吧失败

    Flutter 项目向我显示警告 Packages get has not been run以及建议的解决方案 获取依赖项 升级依赖项 Ignore 正如建议的Darky https stackoverflow com users 8394
  • Android Studio 无法正确构建 flutter 应用程序

    我正在开发一个应用程序 当我打开它时build gradle文件 出现了几个错误 def localProperties new Properties def localPropertiesFile rootProject file loc
  • Flutter更新Appbar中的文本

    我需要帮助更新应用栏中的文本以匹配我当前所在的页面 因此 如果我在 设置 页面中 那么我需要在 AppBar 文本中显示它 我添加代码和屏幕截图是为了更好地解释我想要实现的目标 主dart void main gt runApp MyApp
  • 如何在 Angular i18n 路由器模块中使用 LOCALE_ID

    我正在使用 Angular 的 i18n 设置构建一个小型 Angular 应用程序 除了 url 路径和 slugs 的翻译之外 一切都工作正常 我尝试了一种可能的解决方案 为每种语言提供一个路由模块 如此处所述 但这不起作用 我以为我可
  • VS Code 和 Flutter/Dart,小部件自动完成功能不起作用

    我正在使用一些教程来学习 Flutter 而我现在正在学习的教程则使用 VSCode 事实上 与 Android Studio 相比 我更喜欢它 因为它不会使我的 Macbook 过热 到目前为止 我唯一感到沮丧的是 有很多次自动完成功能停
  • 如何使用 Flutter 获取 Firebase 存储目录中的所有文件

    我有一个显示夜总会描述和图像的应用程序 每个俱乐部大约有4张相关图像 在 Firebase Storage 中 我为每个俱乐部创建了目录 然后将其图像存储在其中 所以我想要做的是从俱乐部目录中获取所有图像 以便我可以在我的应用程序中显示所有
  • 在 Flutter 中更改深色模式的文本颜色(带有动态主题)?

    当我选择深色模式时 文本变成白色 但我想将所有文本设置为白色70或其他内容 包括按钮和常规文本 如何定义深色模式的默认文本颜色 我的主题数据现在是这样的 class MyApp extends StatelessWidget overrid
  • 颤动中的弯曲导航栏

    目前 我在 flutter 中有一个库https pub dev packages curved navigation bar https pub dev packages curved navigation bar并已经在我的项目中实现了
  • 具有多个滚动方向的颤动列表视图

    我有某种时间表 其中包含小时数和天数 Widget buildSchedule ScheduleLoaded state final List
  • emberjs 对一条路线使用多个路径/url

    在 Ember 中我可以使用这个 App Router map function this route accomodations 因此 如果访问 accomodations 它将加载该视图 我还可以补充 App Router map fu
  • Rails 命名空间与嵌套资源

    假设我的应用程序有两个模型 Foo 和 Bar Foo 可选地属于 Bar 现在我可以查看单个 Foo 或者搜索特定的 Foo FoosController 会处理所有这些 我的网址是这样的 foos 1 and foos new 有时我想
  • flutter 检测 url 并显示预览

    我正在尝试制作一个类似于 wats app 的链接预览功能 它有两个部分 从文本字段检测 URL 显示该 URL 的预览 第 2 部分有很多插件可以显示预览 但我一直坚持第 1 部分 即如何检测和解析用户在文本字段中输入的 URL 还有一个
  • 为什么不重新评估 Binding.scala 路由器?

    我正在尝试通过 Binding scala 为个人项目构建通用路由器 我定义了一个PageState trait sealed trait WhistState def text String def hash String def ren
  • 如何在Flutter中实现Nested ListView?

    实现嵌套 ListView 或者换句话说 可以包含在可滚动父级中的 ListView Widget 的首选方法是什么 想象一个 报告 页面 其中一个部分是一个逐项列表 对于子 ListView 使用该参数 shrinkWrap true p
  • 如何在rails中定义自定义路径?

    我有一个用户模型 如果我做 def my action user User new end then I get undefined method users path for
  • Flutter中的pushReplacementNamed和popAndPushNamed有什么区别?

    The NavigatorState班级在Flutter navigator dart有 2 种具有类似行为的方法 有什么区别pushReplacementNamed and popAndPushNamed在颤振中 pushReplacem
  • 如何设置 dart objectbox 并预填充本地数据库?

    我想用 Flutter 设置一个 ObjectBox 数据库 我想用值预先填充数据库文件 安装应用程序时 数据库文件将被复制并由应用程序使用 我希望能够继续提供架构迁移 是否可以 如何建立这种类型的架构 你有什么例子吗 SOLUTION 通

随机推荐