Я пытаюсь выяснить, почему функция storeEmailVerified () в моем коде React Native ниже возвращает undefined. Вот сообщение об ошибке:
that.storeEmailVerified не является функцией. (В 'that.storeEmailVerified ("true") "," that.storeEmailVerified "не определено)
Я связал обе следующие функции с' this 'в конструкторе.
constructor(props) {
super(props);
this.storeEmailVerified = this.storeEmailVerified.bind(this);
this.checkEmailVerified = this.checkEmailVerified.bind(this);
}
checkEmailVerified = async () => {
let currentUser = firebase.auth().currentUser.uid;
firebase.database().ref().child("/users").child(currentUser).on("value", function (snapshot) {
if (snapshot.exists()) {
const emailVerified = snapshot.child("emailVerified").val();
if (emailVerified == true) {
this.setState({
emailVerified: true
})
this.storeEmailVerified("true");
// AsyncStorage.setItem("emailVerified", true)
}
else {
this.setState({
emailVerified: false
})
this.storeEmailVerified("false");
// AsyncStorage.setItem("emailVerified", false)
}
}
});
};
storeEmailVerified = async status => {
try {
await AsyncStorage.setItem("emailVerified", status)
} catch (error) {
alert(error)
return 'error'
}
}