颤振自动路由构建运行器错误路由必须具有页面或重定向目标

Posted

技术标签:

【中文标题】颤振自动路由构建运行器错误路由必须具有页面或重定向目标【英文标题】:flutter auto route build runner error Route must have either a page or a redirect destination 【发布时间】:2021-12-11 15:37:56 【问题描述】:

当我向 router.dart 添加新路由并运行构建运行程序时,我得到了 路由必须有页面或重定向目标 错误

下面是我在 router.drat 中的代码:

 
@MaterialAutoRouter(
  replaceInRouteName: 'Page,Route',
  routes: <AutoRoute>[
    AutoRoute(
      path: '/',
      page: SplashPage,
    ),
    AutoRoute(
      path: 'signInPage',
      name: 'SignInRouter',
      page: SignInPage,
    ),
    AutoRoute(
      path: 'noteOverviewPage',
      name: 'NoteOverviewRouter',
      page: NoteOverviewPage,
    ),
    AutoRoute(
      path: 'todoFormPage',
      name: 'todoFormRouter',
      page: TodoFormPage,
    ),
  ],
)
class $AppRouter 

【问题讨论】:

【参考方案1】:

还有可能是您忘记保存新页面的代码(这发生在我身上)。在这种情况下,您的代码可能存在,但文件尚未保存,因此构建运行程序将创建此错误。

【讨论】:

【参考方案2】:

确保所有页面都是无状态小部件,而不是有状态小部件!这个奇怪的举动帮助了我。今天遇到这个奇怪的问题,可能是bug。

【讨论】:

当我从 'todoFormPage' 构造函数中删除密钥时,我不知道为什么,但它可以工作:)

以上是关于颤振自动路由构建运行器错误路由必须具有页面或重定向目标的主要内容,如果未能解决你的问题,请参考以下文章

无法在颤振中使用构建运行器生成 mobx

颤振如何与单页网页和不同的路由网址一起工作?

使用提供者值颤振初始路由

React - 登录到尝试页面后的路由和重定向

反应路由器私有路由/重定向不起作用

意外错误转发或重定向到登录页面[重复]