I need to push to an array state every firebase object but when I do that, react only pushes one element, the console log is shown more than one time
const [events, setEvents] = useState([])
const dummy = snapshot.val();
var feed = {}
console.log(dummy)
Object.keys(dummy).map(function(keyName, keyIndex) {
setEvents(array => [...events, {name:dummy[keyName]['name'], email: `${dummy[keyName]['email']}` ,date:dummy[keyName]['Date']['startTime'] , extra:{ text:'Click for email', icon:"" }}]);
})
I had to create the loop like this
Array.of(snapshot.val()).forEach((item) => {
for(var i in item){
var feed = {name:item[i]['name'], email: `${item[i]['email']}` ,date:item[i]['Date']['startTime'] , extra:{ text:'Click for email', icon: }}
setArray(prev => [...prev, feed])
}
} )
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.