我的React应用程序将会话令牌保存在本地存储中。多个组件依赖于此令牌,因此,如果要删除本地存储(例如使用chrome开发人员工具),然后尝试使用这些组件之一,则该组件将无法正常工作。
例如,在创建博客文章时,此代码称为:
function getToken() {
return localStorage.getItem(token)
}
将无法生成令牌,并且博客帖子也不会发送出去。
当我尝试删除知名网站上的本地存储,然后继续路由到其他页面时,当我使用开发人员工具检查本地存储时,将还原本地存储。
任何人都有处理本地存储和处理删除本地存储的经验。
我可能想到的一些解决方案是:
在渲染组件时检查本地存储是否存在,如果不存在,请尝试重新获取令牌,然后重新设置本地存储。 (这可能在每个组件中都很麻烦。)
将令牌保存在Redux存储中,如果删除了本地存储,则从存储中获取令牌。 但是如果我删除本地存储然后硬刷新页面怎么办?然后,商店将被清除,令牌将不在商店或本地存储中。当我尝试在知名网站上执行此操作时,效果很好。
任何建议将不胜感激。