when I finish to get data from my database and I useState setValue and pass the array, render function doesen’t render again.
Code where I setArray
function getNotifiche(){
onSnapshot(collection(db, "Users",auth.currentUser.uid, "Notifiche"), async (snapNotifiche) => {
const notifichee = [];
snapNotifiche.forEach(async notificaDoc => {
const docRef = doc(db,"Users",notificaDoc.data().Invitato);
const userData = await getDoc(docRef);
notifichee.push({
"data":notificaDoc.data(),
"invitante":userData.data()
})
});
setListaNotifiche(notifichee);
});
This is in the return function:
{
(listaNotifiche.map((notifica,index)=>{
return(<div key={index}>
<label>Invitato da {notifica.invitante.Username} in data{new Date(notifica.data.DataInvito.seconds * 1000).toString()}</label>
<button>Partecipa</button>
<button>Elimina</button>
</div>);
}))
}
So I tried also using setListaNotifiche([…notifichee]) but I get the error: TypeError: Cannot read properties of undefined (reading ‘map’)