1

我将尝试将这个问题更多地表述为一个问题,而不是一个讨论点。

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

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

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

  1. 使用 cookie 的前端方法
  2. 使用包含这些值的 API 的后端方法
  3. 还原

在这一点上,我不确定我应该采取哪种方法..

4

1 回答 1

1

如果你想为用户永久存储数据,最简单的方法是把它们放到浏览器的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 方法的问题是,如果你重新加载你的应用程序,你的节省就会消失。

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

于 2018-03-07T11:07:51.650 回答