Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7225 | Rev 8415 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import axios from "axios";
import React, { useState, useEffect } from "react";

function useDataFetching({ url, params }) {

    const [loading, setLoading] = useState(true);
    const [results, setResults] = useState([]);
    const [error, setError] = useState("");

    useEffect(() => {
        const fetchData = async () => {
            try {
                const { data } = await axios.get(url, { params: params });

                if (!data.success) {
                    setLoading(false);
                    setError(data.data)
                    return
                }

                setLoading(false);
                setResults(data.data);
            } catch (error) {
                setLoading(false);
                setError(error.message);
            }

            setLoading(false);
        }

        fetchData();
    }, []);

    return {
        error,
        loading,
        results
    };
}

export default useDataFetching;