Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6772 stevensc 1
import { useEffect, useState } from 'react'
2
import { axios } from '../utils'
3
 
6808 stevensc 4
const useFetchHelper = (helper = '', defaultValue = {}) => {
5
  const [data, setData] = useState(defaultValue)
6772 stevensc 6
  const [loading, setLoading] = useState(false)
7
  const [error, setError] = useState(null)
8
 
9
  useEffect(() => {
10
    const getHelper = (helper) => {
11
      setLoading(true)
12
 
13
      axios
14
        .get(`/helpers/${helper}`)
15
        .then(({ data: response }) => {
16
          const { data, success } = response
17
 
18
          if (!success) {
19
            const error =
20
              typeof data === 'string' ? data : 'Ha ocurrido un error'
21
            setError(error)
22
            return
23
          }
24
 
25
          setData(data)
26
        })
27
        .catch((err) => setError(`Error: ${err}`))
28
        .finally(() => setLoading(false))
29
    }
30
 
31
    getHelper(helper)
32
  }, [])
33
 
34
  return { data, error, loading }
35
}
36
 
37
export default useFetchHelper