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

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

Похожие вопросы