我刚从我的商店向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-method访问令牌 .
1 回答
执行此操作的一种简单方法是使用redux-persist,它将redux状态持久保存到本地存储 . 此外,还可以选择将特定减速器列入黑名单或白名单 . 通过使用此包,我们不必在redux存储更新时手动处理本地存储