访问localStorage而不是redux-store的简单方法

时间:2018-12-10 11:30:12

标签: javascript reactjs redux redux-middleware

我只是将商店中的一些内容导出到localStorage(实际登录的用户),因此该用户应该能够打开第二个选项卡而无需再次登录。

为了将数据放入localStorage,我使用了Redux-Middleware(如果操作是登录,则将登录数据放入localStorage)。

export const storageMiddleware = () => next => action => {
    console.log("Share Middleware...");
    console.log(action);
    switch(action.type){
      case 'LOGIN':
        localStorage.setItem('login-token', action.token);
        localStorage.setItem('login-token-expiration', action.expiration);
        break;
      default:
        break;
    }
    next(action);
  };

现在我的问题是: 有没有一种简单的方法可以从localStorage获取数据? 就像读取中间件一样,我调用localStorage.getItem而不是从redux存储返回值?

还是我必须更改使用登录数据访问localStorage而不是redux存储的每个组件。

现在,我通过mapStateToProps方法访问令牌。

1 个答案:

答案 0 :(得分:0)

执行此操作的一种简单方法是使用redux-persist,它将Redux状态持久保存到本地存储中。还可以选择将特定的减速器列入黑名单或白名单。通过使用此软件包,我们不必在Redux存储更新时手动处理本地存储