首页 > 解决方案 > 在手动输入链接时保持“用户登录状态”

问题描述

我正在开发这个反应应用程序,我已经在使用 JWT 令牌,我正在使用反应路由器来根据链接确定我去哪里。首先,这是我观察到的一件有趣的事情:我有一个名为 auth 的 redux 状态,它存储用户名、id 等。如果我通过调用this.props.history.push(...)前往另一个组件,这是一个反应路由器的事情,我前往的组件将保留正确的 redux 状态。但是,如果我使用基本的 HTML href,则不会维护用户状态。有谁知道这是为什么?

无论如何,我真正关心的是,如果用户决定直接输入指向他或她的个人资料的链接,状态将不会被维护,对解决这个问题有什么见解吗?

另外,我知道我应该尽可能具体地提出我的问题,但在旁注中,是否有人熟悉使用 JWT 触发自动登录,以便在用户访问网站时做出反应?似乎它与检查存储的密钥 JWT 有关。

标签: reactjs

解决方案


导航起作用和href不起作用的原因与直接访问站点的人没有从状态中获取值的原因完全相同。

由于状态中的值存储在the memory而不是persisted,因此当用户重新访问该站点时,它不会动态加载。如果 App.js 中已经存在状态,您可以将状态存储在 localStorage(或 indexedDB)中并将其重新加载到 redux 存储中。redux-persist您可以像这样做一样使用库。


推荐阅读