flutter auto route build runner error Route must have either a page or a redirect destination

问题描述 投票:0回答:4

当我向 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 {}
flutter dart flutter-dependencies router flutter-routes
4个回答
13
投票

还有一种可能是你忘记保存你的新页面的代码(我遇到过)。在那种情况下,您的代码可能在那里,但文件尚未保存,因此构建运行器将产生此错误。


1
投票

我修复它,删除并重新导入类补丁


0
投票

在 android studio 中,当

build-runner
运行时,尤其是在
watch
模式下运行时。您必须通过
build-runner
保存与
Ctrl+S
相关的文件并等待
build-runner
重新编译文件以保存更改。 (你可以在
android studio
终端看到)。

所以你应该打开这些文件,然后在上面按

Ctrl+S
SplashPage
,
SignInPage
,
NoteOverviewPage
,
TodoFormPage
,
router.drat


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.