Я использую redux-persist , чтобы сохранить свое состояние в локальном сторге. Мне нужно после 5-минутного финиша выйти из системы и переместить пользователя на страницу входа, но я не могу удалить persist значение из локального storge, каждый раз, когда я пытаюсь удалить значение с помощью storage.removeItem redux-persist возвращает значение обратно.
RootReducer:
import storage from 'redux-persist/lib/storage';
const appReducer = combineReducers({
auth: authReducer,
//....
});
const rootReducer = (state, action) => {
if (action.type === SIGNOUT_REQUEST) {
Object.keys(state).forEach(key => {
storage.removeItem(`persist:${key}`);
});
state = undefined;
}
return appReducer(state, action);
}
export default rootReducer;
Выход из системы:
export const logoutUser = () => dispatch => {
dispatch({
type: SIGNOUT_REQUEST
})
APP.js
if (isTimeout) {
store.dispatch(logoutUser());
}
index.js
ReactDom.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App />
</PersistGate>
</Provider>
, document.querySelector('#root')
);