У меня есть несколько action
, после чего мне нужно позвонить другим 2 action
.
Мой первый подход - написать middleware
, который выглядит следующим образом:
некоторые-middleware.js
const actions = {
[POST_CATEGORIES_SUCCESS]: 1,
[SET_READING_TIME_SUCCESS]: 1
}
export default store => next => action => {
// console.log("calling auth middleware", action)
// Reset any session data before SIGNUP or LOGIN request
if (actions[action.type] === 1) {
store.dispatch(resetStories())
store.dispatch(getStories())
}
return next(action)
}
Другим подходом было бы поставить
store.dispatch(resetStories())
store.dispatch(getStories())
внутри двух redux-thunk
как
export const postCategories = (categories) => (dispatch) => {
dispatch(fetchPostCategories(categories))
store.dispatch(resetStories())
store.dispatch(getStories())
}
export const setReadingTime = (readingTime) => (dispatch) => {
dispatch(fetchReadingTime(readingTime))
store.dispatch(resetStories())
store.dispatch(getStories())
}
Это означает повторение кода каждый раз, когда мне нужно отправить эти два действия.
Я что-то упускаю во всем этом? Правильный ли подход промежуточного программного обеспечения?