Angular4 应用状态管理

Angular 4 application state management

我会尽量将这个问题表述为问题而不是讨论点。

我正在构建一个 Angular 4 + Spring 应用程序,但我在状态管理方面遇到了问题。应用程序功能包括登录、交互式地图、带有设置的子页面等。

我的问题: 例如,用户登录,使用交互式地图执行某些操作(更改显示的地图图层或放大地图),然后转到子页面或从应用程序中完全注销。 所需的功能是下次用户登录时,he/she 上次所做的相同操作这次也会出现。

我做了一些研究,目前我看到了 3 个选项:

  1. 使用 cookie 的前端方法
  2. 后端方法 API 保存这些值
  3. Redux

此时我不确定应该采用哪种方法..

如果想永久保存用户的数据,最简单的方法就是将它们放到浏览器的localStorage中。这样您就可以在加载组件时检索用户数据。为此,您只需执行以下操作:

//Put data to local storage
localStorage.setItem('userData', JSON.stringify(data));

//Get data from local storage
let userData = JSON.parse(localStorage.getItem('userData'))

redux 方法的问题是,如果您重新加载您的应用程序,您的储蓄将会消失。

此外,涉及后端的方法也不是最好的主意。因为你有额外的后端调用,需要新表来保存每个用户的数据等。