JSFiddle - React, Tailwind, and code Playground

JavaScript

export function getStoresAction() {
  return dispatch => {
    dispatch(getStores());

    return axios
      .get(`${apiUrl}/api/shops`)
      .then(res => {
        dispatch(getStoresSuccess(res.data));
        return Promise.resolve(res);
      })
      .catch(error => {
        dispatch(getStoresFailure(error));
        return Promise.resolve(error);
      });
  };
}

function getStores() {
  return {
    type: GET_STORES,
    loading: true,
    error: null,
  };
}
function getStoresSuccess(payload) {
  return {
    type: GET_STORES_SUCCESS,
    payload: payload,
    loading: false,
    error: null,
  };
}
function getStoresFailure(error) {
  return {
    type: GET_STORES_FAILURE,
    loading: false,
    error,
  };
}