Начал реализовывать механизм, который обновляет раннее загруженные данные, если произошло действие связанное с авторизацией. Для этого решил написать middleware
export const updateData =
(_store) =>
(next) =>
(action) => {
if (action.type.startsWith('login/')) {
next(fetchOffersAction())
}
return next(action)
}
fetchOffersAction- создается через createAsyncThunk.
export const fetchOffersAction = createAsyncThunk(
'data/fetchOffers',
async (_arg, { dispatch, extra: api }) => {
const { data } = await api.get('/offers')
return data
}
)
стор конфигурирую так:
const store = configureStore({
reducer: reducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
thunk: {
extraArgument: api
}
}).concat(redirect, updateData)
})
Но при выполнении получаю эту ошибку
Uncaught (in promise) Error: Actions must be plain objects. Use custom middleware for async actions.
Как это можно пофиксить или какой другой подход можно использовать, вместо middleware?