Proyectos de Subversion LeadersLinked - Backend

Rev

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

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