当我向 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 {}
还有一种可能是你忘记保存你的新页面的代码(我遇到过)。在那种情况下,您的代码可能在那里,但文件尚未保存,因此构建运行器将产生此错误。
我修复它,删除并重新导入类补丁
在 android studio 中,当
build-runner
运行时,尤其是在 watch
模式下运行时。您必须通过build-runner
保存与Ctrl+S
相关的文件并等待build-runner
重新编译文件以保存更改。 (你可以在android studio
终端看到)。
所以你应该打开这些文件,然后在上面按
Ctrl+S
:
SplashPage
, SignInPage
, NoteOverviewPage
, TodoFormPage
, router.drat
确保所有页面都是无状态小部件,而不是有状态小部件!这个奇怪的举动帮助了我。今天遇到这个奇怪的问题,可能是bug吧