Angular 5 Ngrx State在浏览器页面刷新期间丢失

时间:2018-05-19 18:32:34

标签: angular redux rxjs state ngrx

我是angular 5和Ngrx的新手,有些我如何设法实现登录功能,一旦登录成功我将用户带到仪表板。但是如果我刷新页面,用户状态似乎就会丢失。如果页面重新加载,如何使用户状态持久?

2 个答案:

答案 0 :(得分:8)

  

如果页面重新加载,如何使用户状态持久?

as @ user184994提到的NGRX状态仅存储在内存中。如果您希望它在页面刷新之间保留,请转到LocalStoragesessionStorage

localStoragesessionStorage完成相同的操作并使用相同的API,但使用sessionStorage时,数据仅在窗口或制表符关闭时保留,而{{1}数据一直存在,直到用户手动清除浏览器缓存或直到您的Web应用程序清除数据为止。

我建议你去Angular的@ngx-pwa/local-storage异步本地存储

对于Angular 5:

localStorage

在RootModule中注册

npm install @ngx-pwa/local-storage@5

注入并使用

import { LocalStorageModule } from '@ngx-pwa/local-storage';

@NgModule({
  imports: [
    BrowserModule,
    LocalStorageModule,
    ...
  ]

<强>用法

import { LocalStorage } from '@ngx-pwa/local-storage';

@Injectable()
export class YourService {

  constructor(protected localStorage: LocalStorage) {}

}

答案 1 :(得分:0)

本地存储和会话存储带来了安全风险(可以操纵用户信息),我认为对于如何解决浏览器刷新后如何生存的根本问题,存在更好的答案。

通常,最好将一些代码放入应用程序组件的onInit方法中以重新加载需要在浏览器刷新后保存的数据。

相关问题