честно говоря странынй вопрос- задача тривиальна, но чтобы не отпугнуть масы было написано хорошо оттетсировнное решение, которое хватает на очень многие кейсы
function createThunkMiddleware(extraArgument) {
return ({ dispatch, getState }) => next => action => {
if (typeof action === 'function') {
return action(dispatch, getState, extraArgument);
}
return next(action);
};
}
const thunk = createThunkMiddleware();
thunk.withExtraArgument = createThunkMiddleware;
export default thunk;
для тех кто не любит лазить по исходникам гитхаба приведенный выше код это весь код redyx-thunk + есть еще тесты которые несколько длинее )
нет особой магии, не скажу что ваш пример лучше, но если вам нравится то используйте, но будьте готовы отвечать на вопрос колег, а че thunk или saga не взял ? его все занют, а в чем профит товего решения ?
это вопросы не конкертно по вашему коду, а вообще - вполне оправданые вопросы когда кто то тащит в проект свой велик вместо всем известного решения