localStorage 不适用于用户帐户
localStorage does not work with user accounts
我正在构建一个应用程序,如果用户希望将项目添加到个人监视列表,他们必须登录。我使用 localStorage 来存储此个人监视列表数据并进行检索。我遇到的问题是,如果帐户 'A' 将一个项目添加到他们的监视列表,然后注销,然后帐户 'B' 登录,则先前存储的数据将从帐户 'A' 返回。
如何防止这种情况发生,以便每个特定用户帐户的数据仅为 saved/returned?我应该使用像 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');
我正在构建一个应用程序,如果用户希望将项目添加到个人监视列表,他们必须登录。我使用 localStorage 来存储此个人监视列表数据并进行检索。我遇到的问题是,如果帐户 'A' 将一个项目添加到他们的监视列表,然后注销,然后帐户 'B' 登录,则先前存储的数据将从帐户 'A' 返回。
如何防止这种情况发生,以便每个特定用户帐户的数据仅为 saved/returned?我应该使用像 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');