如何在React中处理已删除的本地存储?

时间:2019-02-19 22:52:48

标签: reactjs session redux local-storage

我的React应用程序将会话令牌保存在本地存储中。多个组件依赖于此令牌,因此,如果要删除本地存储(例如使用chrome开发人员工具),然后尝试使用这些组件之一,则该组件将无法正常工作。

例如,在创建博客文章时,此代码称为:

function getToken() {
  return localStorage.getItem(token)
}

将无法生成令牌,并且博客帖子也不会发送出去。

当我尝试删除知名网站上的本地存储,然后继续路由到其他页面时,当我使用开发人员工具检查本地存储时,将还原本地存储。

任何人都有处理本地存储和处理删除本地存储的经验。

我可能想到的一些解决方案是:

  • 在渲染组件时检查本地存储是否存在,如果不存在,请尝试重新获取令牌,然后重新设置本地存储。 (这可能在每个组件中都很麻烦。)

  • 将令牌保存在Redux存储中,如果删除了本地存储,则从存储中获取令牌。 但是如果我删除本地存储然后硬刷新页面怎么办?然后,商店将被清除,令牌将不在商店或本地存储中。当我尝试在知名网站上执行此操作时,效果很好。

任何建议将不胜感激。

0 个答案:

没有答案