Как было уже написано, да нужно использовать thunk-middleware, код которого кстати, очень простой!
Суть в том, что нужно проверить: если ваш action возвращает функцию - значит прокинь в него dispatch и getState и жди что будет дальше, а если ваш action - простой объект (как и задумывалось) - сразу прокинь его дальше. Так и работают middleware - добавляя функционал и пробрасывая выполнение дальше.
У меня есть подробное руководство по redux на русском, посмотрите здесь -
https://www.gitbook.com/book/maxfarseer/redux-cour...
Спасибо.