小编Mor*_*hal的帖子

React-浏览器中缓存的登录变量

我对React和尝试学习它很陌生,但是在后端有很强的背景(java / nodejs / php / ...)

所以首先我想创建一个登录门户,基本上是3个页面:-如果您未通过身份验证,则该页面会将您重定向到登录页面-登录页面-注册页面

功能正在运行(注册/登录/注销)我的问题在主页上,如果我首先使用user1登录,我会看到Hello user1。如果我注销并使用user2登录,我仍然会看到user1。

看来变量是由浏览器某种方式缓存的。F5刷新实际上会更新值...:/

这是我所做的:

在我的应用中,我有以下路线:

<Provider store={store}>
      <HashRouter>
        <Switch>
          <Route path="/login" name="Login" component={Login} />
          <Route path="/register" name="Register" component={Register} />
          <PrivateRoute path="/" name="Home" component={Layout} />
        </Switch>
      </HashRouter>
    </Provider>
Run Code Online (Sandbox Code Playgroud)

提供程序configureStore正在执行以下操作:

store.dispatch(requestUserInfo());
Run Code Online (Sandbox Code Playgroud)

这个requestUserInfo()是我在以下类中创建的东西:获取令牌,使用jwt对其进行解码,并呈现一些用户信息:

import jwt_decode from 'jwt-decode'

export const REQUEST_USER = "REQUEST_USER";
export const USER_INFO = "USER_INFO";

export function requestUserInfo() {
if(localStorage.usertoken){
  const decoded = jwt_decode(localStorage.usertoken)
  let usertest = {
    "username": decoded.first_name + " " + decoded.last_name,
    "picture": "assets/img/avatars/test.png",
    "activity": 1
  } 

  return dispatch => …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-redux

5
推荐指数
1
解决办法
89
查看次数

标签 统计

react-redux ×1

react-router ×1

reactjs ×1