Задать вопрос
@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 };
};
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    WEB-023 React Advanced: продвинутые темы
    1 неделя
    Далее
  • Академия Eduson
    Frontend-разработчик free
    3 дня
    Далее
  • Skypro
    React-разработчик с нуля
    9 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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