Привет всем
Есть табуляция(кладки)
При клике на таб, необходимо, чтобы приложение обращалось к API, брало данные и помещало в контент вкладки
При этом, при повторном клике, чтобы не было обращения
Запросов всехо будет 6, поэтому я не могу брать данные сразу при загрузке страницы
На данный момент реализовано так, при загрузке страницы, обращаемся к Апи, создаем объект с responce и состоянием загрузки
Как можно это реализовать по клику на таб?
const postsObj = useAsyncData(getPosts);
function getPosts() {
return axios.get("/account/get-operations-loan/").then((res) => res.data);
}
import React, { useEffect, useState } from "react";
export const useAsyncData = (apiCallFunc) => {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(false);
useEffect(() => {
let cancelled = false;
setLoading(true);
apiCallFunc().then((res) => {
console.log(res, 'ответ')
if (!cancelled) {
setData(res);
setLoading(false);
}
});
return () => {
cancelled = true;
};
}, []);
console.log(data, 'состояние')
return {
data,
loading
};
};