Creando un nuevo array de objetos a partir de una llamada de API en react js.
En realidad estoy obteniendo datos de la API de Google Calendar para días festivos públicos y quiero mostrarlos en el calendario. Para ello, primero obtengo los datos de la API de Google, y luego intento crear una nueva matriz de objetos que almacenará los datos que necesito del calendario de la API de Google. El problema es que soy capaz de crear una nueva matriz de objetos, pero no soy capaz de agregar nuevos objetos para todos los datos que estoy obteniendo de la API de Google Calendar. Intenté usar un bucle pero no funciona.
Mi código:
let google;
useEffect(() => {
axios.get(‘https://www.googleapis.com/calendar/v3/calendars/en.australian%23holiday%40group.v.calendar.google.com/events?key=personalkey’)
.then(res => {
const data = res.data.items;
console.log(“Datos del calendario de la API de Google”, data)
for (let i = 0; i < data.length; i++) {
data.map((item) => {
google = {
"id": item.id,
"title": item.summary,
"location": "Australia",
"start": new Date(moment(item.start.date)),
"end": new Date(moment(item.end.date)),
"description": item.description,
"durationday": 'Todo el día',
"sameId": null
}
})
}
console.log("Creando una matriz de objetos dentro de la promesa de Google", google)
})
.catch(err => { console.log('Error en la API de Google Calendar', err) })
})
davy.ai
Solución
Puedes usar el método
Array.prototype.push()
para añadir nuevos objetos al array.