Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
cargar datos de forma asíncrona con múltiples llamadas Axios

Tengo un montón de gráficos para mostrar y necesito cargar datos por separado para cada uno de ellos.

La estructura de datos que identifica cada gráfico es una matriz y se ve así (la submatriz puede albergar una o más gráficas. En el caso de varios elementos en la subarregla, la gráfica tendrá varios ejes):

 "charts":[["chart1"], ["chart2", "chart4", ...], ...]

No se sabe de antemano cuántos elementos habrá en la matriz y cuántos tendrán subelementos.

Mi acercamiento

Primero reviso los charts y muestro marcadores de posición (cargadores), luego, si el estado de los data está disponible, muestro el gráfico:

 const[data, setData] = useState(null); return( charts.map(item => { (item in data && data[item] !== "") ? <Chart data={data[item]} /> : <Loader /> }) )

Para la obtención de datos de Axios , pensé en usar useEffect , que llenaría la variable de estado data , que luego volvería a representar el componente para mostrar los gráficos ya cargados.

Mi problema aquí es que no estoy seguro de cómo utilizar useEffect para hacer esto, ya que llamar a Axios en un bucle y configurar la variable de estado de data en un bucle no me parece correcto. Supongo que entonces crearía un bucle infinito.

La otra pregunta un poco más pequeña es cómo esperar la carga de datos de todos los subelementos para mostrar el gráfico de varios ejes, si corresponde.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Basado en los comentarios, aquí hay un ejemplo de cómo actualizar setData en un enlace useEffect con las respuestas de múltiples llamadas a API a diferentes puntos finales:

 const [data, setData] = useState([]) useEffect(() => { const getData = async(url) => { const res = await axios.get(url) setData(prevState => [...prevState, res.data]) } getData(url1) getData(url2) getData(url3) }, [])
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda