繁体   English   中英

localStorage 不适用于用户帐户

[英]localStorage does not work with user accounts

我正在构建一个应用程序,如果用户希望将项目添加到个人监视列表,他们必须登录。我使用 localStorage 存储此个人监视列表数据并检索它。 我遇到的问题是,如果帐户“A”将项目添加到他们的监视列表然后注销,然后帐户“B”登录,则先前存储的数据将从帐户“A”返回。

如何防止这种情况发生,以便仅为每个特定用户帐户保存/返回数据? 我应该使用诸如 sessionStorage 之类的东西而不是 localStorage 吗? 任何帮助表示赞赏。

我通过在本地存储密钥中包含用户的标识符亲自解决了这个问题。 您将为每个用户创建一个条目并根据标识符进行查找。 就像是:

localStorage.setItem(`watchlist:${user.id}`, data) // set

const watchlist = localStorage.getItem(`watchlist:${user.id}`) // get

正如@AlexB 在评论中指出的那样,请注意同一设备上的多个用户将在其 localStorage 中拥有任何其他用户的本地数据,因此请务必考虑隐私。

将您的数据以 userId 为键(所有用户唯一)和相应的监视列表保存为数据

localStorage.setItem('userId', data);

然后使用登录用户 ID 获取它

localStorage.getItem('loginUserId');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM