Я сохраняю объект, содержащий данные пользователя, такие как электронная почта, имя пользователя и т. Д.
Я использовал AsyncStorage, чтобы сохранить их, и когда я их получаю, я просто вижу строку, когда я регистрируюсь или использую ее в моем textInput так,как с этим справиться и просто получить конкретные данные, такие как Just Email или Just Username, которые я сохранил?
Мой код
Регистрация
const {
username,
email,
city,
mobileNumber,
} = this.state;
const profileData = {
"username": username,
"email": email,
"city": city,
"mobileNumber": mobileNumber
}
firebase
.auth()
.createUserWithEmailAndPassword(email, password)
.then(async user => {
firebase
.database()
.ref(`users/${user.user.uid}`)
.set({
username: username,
type: type,
email: email,
city: city,
mobileNumber: mobileNumber,
token: fcmToken
});
this.props.navigation.navigate("Home");
await AsyncStorage.setItem('@MyProfile:data', JSON.stringify(profileData)).then(() => console.log("Saved"));
}).catch(err => console.log(err));
Экран профиля
async componentDidMount() {
try {
await AsyncStorage.getItem('@MyProfile:data')
.then(data => this.setState({ data }))
.catch(error => console.log('@error' + error));
console.log(this.state.data); //
} catch (error) {
console.log("@CError", error);
}
}
render(){
return(
<View style={styles.logoSection}>
{/* <SvgComponent height={100} /> */}
<Icon name="ios-contact" size={90} color='#4d8dd6' style={{ marginTop: 9 }} />
<Text style={{ fontSize: 18, color: "#000", margin: 35, marginTop: 7 }}>{this.state.data}</Text> // i wnat just display username here from storage
</View>
)
}
Консоль
console.log(this.state.data);
В виде строки я думаю: {"username": "user", "email": "user@user.us", "city": "usercity "," mobileNumber ":" 0597979979 "}