Цель :
Я хочу получить пользователей name
из firebase и затем использовать в Текст компонент, но он возвращается до того, как данные могут быть загружены из firebase, в результате чего текст получает undefined .
Код ящика:
export default Slidebar = (props) => {
var name;
firebase.database().ref('users/' + firebase.auth().currentUser.uid + '/profile').once("value")
.then( (snapshot) => {
name = (snapshot.val().name)
console.log('snapshot name:', name)
})
return(
<ScrollView style={{backgroundColor: "#121212"}}>
<ImageBackground source={{uri: 'https://www.redebrasilatual.com.br/wp-content/uploads/2019/05/maconha-projeto.jpg'}}
style={{ padding: 16, paddingTop: 48 }}
>
<Text style={styles.name}> { name, console.log('text name: ', name) } </Text>
<Text style={styles.email}>email@example.com</Text>
<TouchableOpacity style={{height: 40, width: 40}} onPress={() => console.log(name)} >
<View style={{flex: 1, backgroundColor: 'white'}} />
</TouchableOpacity>
</ImageBackground>
<View style={styles.container}>
<DrawerNavigatorItems {...props} />
</View>
</ScrollView>
)
}
Консольный вывод:
INFO
17:06
text name: undefined
INFO
17:06
snapshot name: Joao Pedro