如何在 Ngrx 中重新加载后实现状态持久性



我有一个购物车,我正在使用Ngrx维护它,为了在页面刷新后保持状态的持久性,我有两个选择:

  1. 字符串化状态并将其存储在本地存储中,并在重新加载后将其取回。
  2. 字符串
  3. 化状态并将其存储在文本文件中,然后从文件中获取字符串,并使用 JSON.parse 将字符串转换回 JSON 对象。

我正在存储一些与价格相关的数据,所以不想存储在本地存储中。

我应该使用什么?或者有更好的方法可以做到这一点吗?

使用以下库,您可以获得所需的结果

https://www.npmjs.com/package/ngrx-store-localstorage

我自己在多个项目中使用它,它工作得很好,它充当元减速器,因此"自动"为您处理事情。

https://ngrx.io/guide/store/metareducers

你可以按照 https://stackoverflow.com/a/58362198/10112124 提到的使用ngrx-store-localstorage包,或者编写你的自定义元化简器,或者如你提到的使用效果来做到这一点。对于后者,Tomas Trajan在他的angular-ngrx-material-starter项目中有一个例子。

以上所有选项都可以找到,但我想回答存储什么

我正在存储一些与价格相关的数据,所以不想存储在本地存储中。

如果您有敏感信息,则可以将其存储在会话存储中 - 会话结束时,将清理存储。

您不应该存储敏感信息,为什么不存储重要信息,如商品 ID 和数量?通过这种方式,您可以使用此信息对商店进行补充水分,并使用此信息以及您将以正常方式加载的目录的产品来构建购物车。

最新更新