登录到应用程序(React.js)后,由于许多组件正在使用member
数据,因此我希望将它们存储在localStorage中,理想情况下,仅在登录时才需要进行请求。 / p>
但是,此member
对象中的一些属性可能会在后端手动更改,因此前端根本无法知道member
对象是否已更改。 (同样,理想情况下,对member
对象的任何更改都应通过某种形式的提交来直接更改数据库,通过该表单提交可以触发localStorage的更新,但这不是当前的选择。)< / p>
示例场景:应用程序中有一个通用表格要求额外的积分。客户服务将收到有关该请求的电子邮件。客户A的信用额将被手动更新(在数据库中)。如果客户A不重新登录(member
的获取请求已完成),localStorage仍将显示旧编号。学分。
如果是这种情况,最好的解决方法是什么?
根本不将member
数据存储在localStorage中,以保持数据新鲜。只需在需要时调用端点。
改为使用sessionStorage
?
当用户刷新页面/应用程序时触发重新引用(尽管用户可能不知道他们需要这样做才能更新数据)。
建议?
答案 0 :(得分:1)
我只想更新数据。
答案 1 :(得分:0)
从总体上讲,您有两种选择:
后一个选项将需要进行很多更改,并且会更改应用程序的可伸缩性,因此前一个选项似乎是您最合理的选择。
继续使用localStorage
是很明智的做法,因此您拥有数据的脱机副本,并且不会在页面加载期间阻止呈现;您可以有一个后台定期刷新过程,同时不会干扰用户。如果您的数据是在redux或context中进行镜像的,那么当/当数据更改时,您的UI可能会更新。
答案 2 :(得分:0)
如果您不知道member
的更新时间,请不要存储它。每当您需要member
时,都应该查询后端。这是保持数据与数据库同步的唯一方法。