Skip to content

Commit 5ed35b7

Browse files
committed
clear api slice cache on logout or switching servers
1 parent fc28f58 commit 5ed35b7

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/redux/api/slice.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,5 @@ export const {
4444
useGetOrderTimingQuery,
4545
useUpdateOrderMutation,
4646
} = apiSlice;
47+
48+
export const clearApiState = apiSlice.util.resetApiState;

src/redux/api/stateMiddleware.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { clearApiState } from './slice';
2+
import { LOGOUT_SUCCESS, SET_BASE_URL } from '../App/actions';
3+
4+
export const ApiStateMiddleware = store => next => action => {
5+
if (action.type === LOGOUT_SUCCESS || action.type === SET_BASE_URL) {
6+
store.dispatch(clearApiState());
7+
}
8+
9+
return next(action);
10+
};

src/redux/store.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { apiSlice } from './api/slice';
2222
import { setupListeners } from '@reduxjs/toolkit/query';
2323
import { setupListenersReactNative } from './setupListenersReactNative';
2424
import AppStateMiddleware from './middlewares/AppStateMiddleware';
25+
import { ApiStateMiddleware } from './api/stateMiddleware';
2526

2627
const middlewares = [
2728
thunk,
@@ -30,6 +31,7 @@ const middlewares = [
3031
AppStateMiddleware,
3132
HttpMiddleware,
3233
apiSlice.middleware,
34+
ApiStateMiddleware,
3335
PushNotificationMiddleware,
3436
CentrifugoMiddleware,
3537
SentryMiddleware,

0 commit comments

Comments
 (0)