Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
7221 stevensc 1
import axios from "axios";
7215 stevensc 2
import React, { useState, useEffect } from "react";
3
 
7235 stevensc 4
function useDataFetching({ url, params }) {
7215 stevensc 5
 
6
    const [loading, setLoading] = useState(true);
7
    const [results, setResults] = useState([]);
8
    const [error, setError] = useState("");
9
 
10
    useEffect(() => {
7223 stevensc 11
        const fetchData = async () => {
7215 stevensc 12
            try {
7225 stevensc 13
                const { data } = await axios.get(url, { params: params });
7215 stevensc 14
 
15
                if (!data.success) {
7221 stevensc 16
                    setLoading(false);
17
                    setError(data.data)
7215 stevensc 18
                    return
19
                }
20
 
21
                setLoading(false);
22
                setResults(data.data);
23
            } catch (error) {
24
                setLoading(false);
25
                setError(error.message);
26
            }
7221 stevensc 27
 
28
            setLoading(false);
7215 stevensc 29
        }
30
 
31
        fetchData();
7235 stevensc 32
    }, []);
7215 stevensc 33
 
34
    return {
35
        error,
36
        loading,
37
        results
38
    };
39
}
40
 
41
export default useDataFetching;