Proyectos de Subversion LeadersLinked - Backend

Rev

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