首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在auto_route 1.0.0-beta.10中添加路由防护?

如何在auto_route 1.0.0-beta.10中添加路由防护?
EN

Stack Overflow用户
提问于 2021-03-05 15:33:16
回答 1查看 450关注 0票数 0

路线

代码语言:javascript
复制
@MaterialAutoRouter(
  routes: <AutoRoute>[
    AutoRoute(page: IntroView, initial: true),
    AutoRoute(page: LoginView),
    AutoRoute(page: MainView, guards: [AuthGuard])),
  ],
)
class $AppRouter {
  IntroView introView;
  LoginView loginView;
  MainView mainView;
}

应用程序抛出以下错误:

代码语言:javascript
复制
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: 'package:k2_flutter/navigation/app_router.gr.dart': Failed assertion: line 24 pos 53: 'authGuard != null': is not true.

在以前的版本中,这是在ExtendedNavigator中设置的。文档不清楚。

代码语言:javascript
复制
class AuthGuard extends AutoRouteGuard {
  @override
  Future<bool> canNavigate(List<PageRouteInfo> pendingRoutes, StackRouter router) async{
  return globalSharedPrefs.getString(PrefHelper.authToken) != null;
}
EN

回答 1

Stack Overflow用户

发布于 2021-04-13 19:28:57

代码语言:javascript
复制
Widget build(BuildContext context) {
    appRouter = AppRouter(authGuard: AuthGuard());//pass it as a argument 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66488477

复制
相关文章

相似问题

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