angular - 如何防止一种状态的 ONE 字段被 NgxsStoragePluginModule 持久化
问题描述
我有一个小问题:我正在使用 NgxsStoragePluginModule 在刷新时保持我的状态。
authError
但是在我的 AuthState 中,如果登录不成功,我会设置。
一种情况可能是密码错误,另一种情况可能是我经过多次试验。
然后,如果我刷新页面,我希望这个页面上没有任何身份验证错误,用户甚至没有尝试登录。
我检查了文档(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 中的 null 错误来修补状态,但它似乎不起作用。
我可以将其置于另一种状态,但由于它与“身份验证”相关,我认为将它放在这里是很合乎逻辑的。
有人知道如何防止它被保存吗?或者至少在我重新加载时重置它?
解决方案
推荐阅读
- apache-spark - 仅基于 azure databricks 中的前 1000 行显示样本
- python - python 中的 __name__ 有什么重要的?
- angular - 茉莉花测试失败:预期的间谍 openQuickSubtypes 已被调用。上下文菜单测试用例
- javascript - 如何检查动画是否在 Vue Nativescript 中结束?
- java - 处理 Java 中的图像路径
- sql-server - 如何在每个 ID 的最大月份选择 Date,ID,Qty
- android - WorkManager如何中断进程
- mule - 如何在不使用任何点平台版本 2 的情况下在 mule4.x 运行时环境上部署打包的自定义策略
- c++11 - 将 shared_ptr 隐式转换为 bool
- javascript - 将 React 组件插入数组