import * as actions from '../actions/login.Action';
let initialState = {
user: {
loggedIn: false,
userRole: "",
userEmail: "",
}
};
export default function (state = initialState, action) {
switch (action.type) {
case actions.LOGIN_SUCCESS:
return {
...state,
user: {
...state.user,
loggedIn: true,
userRole: action.userRole,
}
};
case actions.LOGOUT:
return initialState;
default:
return state;
}
}
这是我的减速器动作后触发的
登录成功
下面是我的商店代码
import { createStore, applyMiddleware, compose } from 'redux';
import { routerMiddleware } from 'react-router-redux';
import thunk from 'redux-thunk';
import createHistory from 'history/createBrowserHistory';
import rootReducer from './reducers';
const enhancers = [];
const middleware = [
thunk,
routerMiddleware(history)
];
export const history = createHistory();
const composedEnhancers = compose(
applyMiddleware(...middleware),
...enhancers
);
export const store = createStore(
rootReducer,
persistedState,
composedEnhancers
);
const persistedState = localStorage.getItem('state') ? JSON.parse(localStorage.getItem('state')) : {};
store.subscribe(() => {
localStorage.setItem('reduxState', JSON.stringify(store.getState()));
});
在这种情况下,我可以从reducer获取值,但问题是页面刷新时状态值变空这段代码有什么问题我无法确定为什么存储不保存状态