Я пытаюсь присвоить значение моментального снимка переменной, чтобы иметь возможность включить его в список, поэтому он продолжает возвращаться неопределенным.Значения childItem (childItem.name и т. д.) добавляются правильно, только profile.userName, который возвращается как неопределенное. Я использую реагировать native + firebase. Я пробовал несколько способов решить, что я не получаю.
constructor(props) {
super(props);
this.state = {
list: []
};
firebase.database().ref('pets/lost').on('value', (snapshot) => {
let state = this.state;
state.list = [];
snapshot.forEach((childItem) => {
var profile = firebase.database().ref('/users/' + childItem.val().userUid + '/profile').on('value', (snapshot) => {
return{
userName: snapshot.val().name
}
});
alert('nome ' + profile.userName);
state.list.push({
key: childItem.key,
userName: profile.userName,
name: childItem.val().name,
breed: childItem.val().breed
});
});
this.setState(state);
});
}
render() {
return (
<View>
<FlatList
data={this.state.list}
renderItem={({ item }) => {
return (
<View style={styles.publiInfoContainer}>
<Image
style={styles.avatar}
source={{ uri: 'https://i.kinja-img.com/gawker-media/image/upload/s--HqfzgkTd--/c_scale,f_auto,fl_progressive,q_80,w_800/wp2qinp6fu0d8guhex9v.jpg' }}
/>
<View style={styles.textPubliInfo}>
<Text style={styles.name}>{item.userName}</Text>
<Text style={styles.date}>14/10/1997</Text>
</View>
</View>
);
}}
/>
</View>
);
}
}