Понадобится react-thunk. В компоненте вызываете action, который отправляет запрос к api сервера и полученный ответ передает в action dispatch-а.
В компоненте:
import { submit } from './actions'
...
onSubmit = (credentials) =>
this.props.submit(credentials)
.then((res) => console.log(res))
.catch((err) => console.log(err))
...
export default connect(null, { submit })(ComponentName);
В экшене:
import api from './api';
export const handleSuccessResponse = (data) => ({
type: USER_LOGGED_IN,
data
})
export const submit = (credentials) =>
(dispatch) => api.request(credentials).then(responseData => dispatch(handleSuccessResponse(responseData)));
В api (на примере axios):
import axios from 'axios';
export default request: (credentials) => axios.post('/api/request', { credentials }).then(res => res.data)