ionic-framework - Ionic - 应用程序启动时闪烁错误的起始页面

标签 ionic-framework ionic3 ionic4

我创建了 2 个路由守卫...一个用于检查用户是否已登录,另一个用于检查用户是否未经身份验证

当应用程序启动时,它会在查找本地存储 cookie 时非常短暂地确定用户不存在,因此显示未经身份验证的页面(即登录页面)

我想知道解决这个问题的最佳方法是什么 - 在我看来,使用 observale 来查看用户是否登录的 authguard 是最好的方法,但是在代码运行时会出现无法确定的瞬间,并且它想展示一些东西。

任何人都有类似的问题/创造性的解决方案来解决它。

最佳答案

几个月前我遇到了同样的问题,我通过创建一个 Auth Guard 并返回一个 promise 来解决它......

auth.guard.ts

  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot,
  ): Observable<boolean> | Promise<boolean> | boolean {
    return new Promise(resolve => {
      const userAuthObs = this.afAuth.user.subscribe(user => {
        if (user) {
          resolve(true);
        } else {
          this.router.navigate(['signup']);
          resolve(false);
        }
      });
    });
  }

应用程序在等待此 promise 决定将用户引导到何处时,会继续正常加载。

您可以在此处观看有关创建身份验证守卫的精彩视频... https://www.youtube.com/watch?v=RxLI9_ub6PM

关于ionic-framework - Ionic - 应用程序启动时闪烁错误的起始页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56701565/

相关文章:

javascript - CSS/JS : Change opacity on swipe

javascript - 无法从路径导入 IonicModule

php - 在 ionic 4 上使用 Angular 7 后出现 Cors 策略错误

node.js - "path"参数必须是字符串类型。接收类型未定义 - Ionic 4 - 仅限 Windows

javascript - ionic 响应表填充

javascript - 将相机捕获的图像转换为 base64 - Ionic

javascript - 如何读取插入到 ng-model 中的数据?

node.js - 自 2023 年 5 月起,无法再使用 Node 12 构建 Ionic 3(角度)应用程序

html - 从其他页面弹出并关闭键盘后,Ionic3 html 错误

css - 如何将自定义 css 应用于 ionic 4 组件?