Fetching data from API in JavaScript
It can be done in many ways based on your use case &amp; code structure, but i feel this can be optimal way of structuring.

api/services/index.js

import axios from 'axios';
export {default as MATCHES_API} from "./services/matches.js";

export const CONFIG_API = axios.create({
  baseURL: 'https://1eb19101-0790-406f-90e0-ee35a2ff2d1f.mock.pstmn.io',
  timeout: 2000
});


api/services/matches.js

import CONFIG_API from "api/services";

const ERROR_MSG = "&lt;generic message&gt;";

export const matches = () =&gt; {
  return CONFIG_API.get("/matches").then(res =&gt; {
  // do some operations on data - if required 
    return {success: true, data: res.payload};
  }).catch(err =&gt; {
    return {success: false, message: ERROR_MSG || err.message};
  });
};


actions/matchesAction.js

import {FETCH_MATCHES} from './actionTypes';
import {MATCHES_API} from "/api/services";

export const fetchMatches = () =&gt; dispatch =&gt; {
  matches.then((response) =&gt;
    const {success} = response;
    if (success) {
      dispatch({ type: FETCH_MATCHES, payload});
    } else {
     dispatch({ type: FETCH_MATCHES_FAILED}); /* or show notification */ . 
    }
  );
};


Let me know if this works out.