Angular4 应用状态管理
Angular 4 application state management
我会尽量将这个问题表述为问题而不是讨论点。
我正在构建一个 Angular 4 + Spring 应用程序,但我在状态管理方面遇到了问题。应用程序功能包括登录、交互式地图、带有设置的子页面等。
我的问题:
例如,用户登录,使用交互式地图执行某些操作(更改显示的地图图层或放大地图),然后转到子页面或从应用程序中完全注销。
所需的功能是下次用户登录时,he/she 上次所做的相同操作这次也会出现。
我做了一些研究,目前我看到了 3 个选项:
- 使用 cookie 的前端方法
- 后端方法 API 保存这些值
- 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 方法的问题是,如果您重新加载您的应用程序,您的储蓄将会消失。
此外,涉及后端的方法也不是最好的主意。因为你有额外的后端调用,需要新表来保存每个用户的数据等。
我会尽量将这个问题表述为问题而不是讨论点。
我正在构建一个 Angular 4 + Spring 应用程序,但我在状态管理方面遇到了问题。应用程序功能包括登录、交互式地图、带有设置的子页面等。
我的问题: 例如,用户登录,使用交互式地图执行某些操作(更改显示的地图图层或放大地图),然后转到子页面或从应用程序中完全注销。 所需的功能是下次用户登录时,he/she 上次所做的相同操作这次也会出现。
我做了一些研究,目前我看到了 3 个选项:
- 使用 cookie 的前端方法
- 后端方法 API 保存这些值
- 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 方法的问题是,如果您重新加载您的应用程序,您的储蓄将会消失。
此外,涉及后端的方法也不是最好的主意。因为你有额外的后端调用,需要新表来保存每个用户的数据等。