Commit bfa8fe3a authored by Lorenzo Trujillo Rojas's avatar Lorenzo Trujillo Rojas
Browse files

Se creó el hook que realiza una petición get a los datasources

parent 1cab2fbf
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
import { useEffect, useState } from "react";
import { ApiRequestStatus } from "../constants/api_request_states";

export const useGet = <T>(callback: () => Promise<T>) => {
    const [data, setData] = useState<T>({} as T);
    const [requestStatus, setRequestStatus] = useState(ApiRequestStatus.LOADING);

    useEffect(() => {
        const fetchData = async () => {
            try {
                const response = await callback();
                setData(response);
                setRequestStatus(ApiRequestStatus.SUCCESS);
            } catch (error) {
                console.error(error);
                setRequestStatus(ApiRequestStatus.ERROR);
            }
        };
        fetchData();
    }, []);

    return { data, requestStatus };
}
 No newline at end of file