Можно и без redux-thunk.
Просто создаете middleware
const someMiddleware = store => next => action => {
if(action.type === 'Нужный_вам_экшн'){
loadData(store.dispatch);
}
}
где loadData - асинхронная функция
const loadData = async(dispatch) =>{
const resultData = await fetchDataFromServer();
dispatch(actions.saveData(resultData));
}
Внутри компонента Вы, соответственно, вызываете экшн "Нужный_вам_экшн", его отловит someMiddleware, вызовет функцию loadData, которая собственно и сделает запрос к серверу.