@Paul14

Как сделать кастомный хук, который будет возвращать актуальное состояние?

Есть кастомный хук 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 };
};
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы