Проблема в том, что вы пытаетесь выполнить асинхронную операцию синхронным способом. Вы должны удерживать до тех пор, пока ваш ответ API не вернется, что-то вроде этого:
useEffect(() => {
async function fetchMyAPI() {
let url = 'http://something/';
let config = {};
const response = await myFetch(url);
console.log(response);
}
fetchMyAPI();
}, []);
Применительно к вашему примеру:
useEffect(() => {
setLoading(true);
async function fetchOnAxios() {
const response = await axios.get(`${config.api}/mandates`)
// Down below inside this function
// you can set the loading based on the response
}
fetchOnAxios()
}, []);
Я настоятельно рекомендую эту статью для дальнейшего чтения у него есть примеры и все.