Napisałem aplikację, która pobiera z bazy danych informacje o wydarzeniu. W wydarzeniu znajduje się tablica referencji do użytkowników uczestniczących. Informacje o wydarzeniu przekazuje w propsach do innego komponentu. Mój problem polega na tym, że nie aplikacja nie chce wyświetlić tych użytkowników. Z tego co widzę po console logach i stanie komponentu wszystko działa. Jedna dziwna rzecz to tutaj :
console.log(new_members)
setMembers(new_members)
console.log(members)
Pierwszy console.log(new_members) poprawnie wyświetla moją tablicę, jednak drugi wyświetla ją jako tablicę pustą.
const [members, setMembers] = useState([])
useEffect( () => {
console.log("ha")
getMembers();
}, [props.event])
const getMembers = async () => {
let new_members = [];
console.log(props.event)
props.event && props.event.uczestnicy.map( async member => {
member.get().then(doc => {
let new_member;
new_member = {
...doc.data(),
id: doc.id
}
new_members.push(new_member)
})
})
console.log(new_members)
setMembers(new_members)
console.log(members)
}
I kod wyświetlenia :
{members && members.map(member => {
console.log(member)
return(
<div key={member.id}>
{member.nick}
</div>
)
})}