Есть кастомный хук
useGetClients. Если вызывать хук useGetClients в нескольких компонентах, каждый из них будет инициировать свои собственные стейты и запросы к серверу каждый раз, когда он монтируется. Можно ли сделать так, чтобы useGetClients возвращал только одну, актуальную инициацию? Из разных компонентов хочу получать загруженных клиентов, без повторного запроса на сервер.
Без redux и useContext/Provider
import { useEffect, useState } from "react";
import { QDB } from "../Scripts/Data Base Query/QDB";
export const useGetClients = () => {
const [clients, setClients] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(() => {
const fetch = async () => {
try {
const result = await QDB.select('clients');
setClients(result);
} catch (error) {
console.error("Ошибка при загрузке клиентов:", error);
} finally {
setLoading(false);
}
};
fetch();
}, []);
return { clients, loading };
};