[英]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.