Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 5 | Rev 1378 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 5 Rev 1377
Línea 1... Línea 1...
1
import { useEffect, useState } from 'react'
1
import { useEffect } from 'react'
2
import { axios } from '../utils'
2
import useFetch from './useFetch'
Línea 3... Línea 3...
3
 
3
 
4
const useFetchHelper = (helper = '') => {
-
 
5
  const [data, setData] = useState([])
4
const useFetchHelper = (helper = '') => {
6
  const [loading, setLoading] = useState(false)
-
 
Línea 7... Línea 5...
7
  const [error, setError] = useState(null)
5
  const { data, isLoading, mutate } = useFetch(`/helpers/${helper}`)
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
          }
6
 
24
 
7
  useEffect(() => {
25
          if (!Array.isArray(data)) {
8
    if (!Array.isArray(data)) {
26
            const adapterData = Object.entries(data).map(([key, value]) => {
9
      const adapterData = Object.entries(data).map(([key, value]) => {
27
              return { value: key, name: value }
10
        return { value: key, name: value }
28
            })
11
      })
29
            setData(adapterData)
-
 
30
            return
-
 
31
          }
-
 
32
 
-
 
33
          setData(data)
-
 
34
        })
-
 
35
        .catch((err) => setError(`Error: ${err}`))
12
      mutate(adapterData)
Línea 36... Línea 13...
36
        .finally(() => setLoading(false))
13
      return
37
    }
14
    }
Línea 38... Línea 15...
38
 
15
 
39
    getHelper(helper)
16
    mutate(data)
Línea 40... Línea 17...
40
  }, [])
17
  }, [data])