Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

188
Vistas
Mapeo de una matriz de identificación y obtención de datos relevantes de una API externa

Estoy tratando de mapear una matriz de identificación y obtener datos relevantes para esa identificación desde una API externa en React. Aquí está mi código:

 const getDetails = async () => { ids.map(async(id) => { const details = await axios.get(`url/${id}`); setIdDetails(details); }); }; getDetails();

Y tratando de mostrar esos detalles en un menú desplegable como este:

 {idDetails.map((detail) => { <MenuItem value={detail}>{detail.data.title}</MenuItem> })}

Recibo el error de que idDetails.map no es una función. Además, intenté empujar a la matriz en lugar de establecer el estado, tampoco tuve suerte. Tengo la sensación de que estoy haciendo mal todo el proceso de obtención de datos. ¿Cuál es la mejor práctica para manejar una situación como esta?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Simplemente use setIdDetails([...idDetails, details]); para insertar los nuevos datos en la matriz.

 const [idDetails, setIdDetails] = useState([]); const getDetails = async () => { ids.map(async(id) => { const details = await axios.get(`url/${id}`); setIdDetails([...idDetails, details]); }); }; getDetails();

Además, realice este cambio para evitar errores específicos de datos.

 {(idDetails || []).map((detail) => { <MenuItem value={detail}>{detail?.data?.title}</MenuItem> })}

Nota: Espero que esté obteniendo details como un objeto aquí const details = await axios.get(url/${id});

about 4 years ago · Juan Pablo Isaza Denunciar

0

Como mencionó @SurjeetBhadauriya, use la sintaxis extendida setIdDetails([...idDetails, details]); .

Esto empujará el búfer después de distribuirlo como elementos individuales, lo que le permitirá mapearlos en su jsx.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda