首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RouteObserver用于GoRouter捕获go/go转换

RouteObserver用于GoRouter捕获go/go转换
EN

Stack Overflow用户
提问于 2022-11-09 08:03:54
回答 1查看 73关注 0票数 0

我一直在通过第三方集成(例如,SentryNavigatorObserverFirebaseAnalyticsObserver)来分析不同的导航器观察者,以使默认情况下没有导航器的工具完全相同。但我注意到,这两种方法都没有真正捕捉到所有的路由转换。当他们在相应的控制台中显示数据时,我就看到了。是的,它适用于push/pop,但是没有跟踪与go同级的任何转换。这很烦人。有人知道解决这个问题的方法吗?

例如,

/page/page/detail的转变被观察到。

/pageA/pageB的转换不是这样的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-09 16:51:15

发现了问题。一些根路由是使用pageBuilderNoTransitionPage构建的,因此为了避免动画,因为它们是作为选项卡工作的。

但是,除了设置NoTransitionPage.key初始化器参数外,还需要设置NoTransitionPage.name以识别路由。

因此,由于我没有这样做,导航器将所有这些路由视为null,因此它只是没有看到它们在两者之间发生变化。

例如,它应该是:

代码语言:javascript
复制
GoRoute(
    name: Routes.home,
    path: Routes.getPathNamed(Routes.home),
    pageBuilder: (context, state) => NoTransitionPage<void>(
      key: state.pageKey, // <--- note this
      name: state.name, // <--- note this
      child: ScaffoldWithBottomBarNav(body: Routes.getPageNamed(Routes.home)),
    ),
  ),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74371607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档