Я все еще немного новичок в firebase и реагирую на нативную.Когда пользователь успешно входит в систему, я хочу получить и отобразить имя пользователя из firebase.
Вместо жесткого кодирования временного имени 'Hussnain_sarwar' в моем файле Account.js, я хочу отобразить имя пользователя,Я не знаю правильный синтаксис, чтобы сделать это, и я не уверен, требует ли это Redux, но если это так, мне определенно нужна помощь, ха-ха.
Если я вижу, как это делается, я могу понять, как получить и отобразить другую информацию о пользователе, такую как адрес, инвентарь и т. Д.
SignIn.js
firebase
.auth()
.signInAndRetrieveDataWithCredential(credential)
.then((result) => {
console.log('User is signed in');
if(result.additionalUserInfo.isNewUser){
firebase
.database()
.ref(`/users/${result.user.uid}`)
.set({
gmail: result.user.email,
profile_picture: result.additionalUserInfo.profile.picture,
locale: result.additionalUserInfo.profile.locale, //what location you're in
first_name: result.additionalUserInfo.profile.given_name,
last_name: result.additionalUserInfo.profile.family_name,
created_at: Date.now()
})
.then(function(snapshot) {
});
} else {
firebase
.database()
.ref(`/users/${result.user.uid}`)
.update({
last_logged_in: Date.now()
});
}
})
.catch((error) => {
// Handle Errors here.
const errorCode = error.code;
const errorMessage = error.message;
// The email of the user's account used.
const email = error.email;
// The firebase.auth.AuthCredential type that was used.
const credential = error.credential;
// ...
});
} else {
console.log('User already signed-in Firebase.');
}
},
);
};
Account.js
render() {
const {
navigation: { navigate }
} = this.props;
return (
<View style={[commonStyles.flex1, { backgroundColor: '#000000' }]}>
<Header>
<Text
style={[
styles.TextColor,
commonStyles.font18,
commonStyles.textBold
]}
>
My Account
</Text>
</Header>
<View style={[commonStyles.alignSelfcenter, commonStyles.mt20]} />
<View style={[commonStyles.alignSelfcenter, commonStyles.mt20]}>
<Text
style={[
commonStyles.textWhite,
commonStyles.font16,
commonStyles.textBold
]}
>
Hussnain_sarwar
</Text>
</View>