Proyectos de Subversion LeadersLinked - Backend

Rev

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

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

function useDataFetching(dataSource) {

    const { url, params } = dataSource
    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)
                    setResults(data.data)
                    return
                }

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

        fetchData();
    }, [dataSource]);

    return {
        error,
        loading,
        results
    };
}

export default useDataFetching;