如何防止一种状态的一个字段被 NgxsStoragePluginModule 持久化

问题描述

我有一个小问题: 我正在使用 NgxsStoragePluginModule 来在刷新时保持我的状态。

但在我的 AuthState 中,如果登录不成功,我确实设置了 authError

一种情况可能是密码错误,另一种可能是我进行了多次试验。

然后,如果我刷新页面,我希望此页面上不会出现任何身份验证错误,用户甚至不会尝试登录。

我查看了文档(https://www.ngxs.io/plugins/storage),但他们只提到了如何从存储中排除一种状态,但没有说明如何排除状态的一种属性。

这是我更新此 authError 的方法:

  @Action(LoginWithPasswordAction)
  async loginWithPassword(ctx: StateContext<AuthStateModel>,action: LoginWithPasswordAction) {
    ctx.patchState({
      authError: null,});
    try {
      await this.angularFireAuth.signInWithEmailAndPassword(action.email,action.password);
      await this.router.navigate(['/']);
    } catch (exception) {

      console.log('Login Setting exception to'+exception.message)
      ctx.patchState({
        authError: exception.message,});
    }
  }

我试图用 ngxsOnInit 中的空错误修补状态,但似乎不起作用。

我可以将其置于另一种状态,但由于它与“身份验证”相关,因此我认为将其放在此处是合乎逻辑的。

有人知道如何防止它被保存吗?或者至少在我重新加载时重置它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...