Так что я использую реагировать нативный и Firebase DB.
При нажатии кнопки формы регистрации у меня есть функция, которая создает пользователя, а также загружает некоторую информацию, например, городской телефон lalala:
handleSignUp = () => {
Fire.shared.createUser(this.state.email, this.state.password, this.state.name, this.state.avatar, this.state.mobile, this.state.pickerSelection, this.state.errorMessage)
if (this.state.name == "") this.setState({ errorMessage: "Vartotojo vardas privalomas" });
else if (this.state.email == "") this.setState({ errorMessage: "El. pašto adresas privalomas" });
else if (this.state.password == "") this.setState({ errorMessage: "Slaptažodis privalomas" });
else if (this.state.password2 == "") this.setState({ errorMessage: "Pakartokite slaptažodį" });
else if (this.state.city == "") this.setState({ errorMessage: "Telefono nr. privalomas" });
else if (this.state.mobile == "") this.setState({ errorMessage: "Miestas privalomas" });
else if ( this.state.password != this.state.password2) this.setState({ errorMessage: "Slaptažodžiai nesutampa" });
else {
Fire.shared.createUser(this.state.email, this.state.password, this.state.name, this.state.avatar, this.state.mobile, this.state.pickerSelection);
};
};
Так работает функция первого раза. любой из этих IFS. если я оставляю пустой ввод, я вижу сообщение об ошибке, но если я нажимаю кнопку еще раз, это все равно создает пользователя, даже с пустыми значениями ... как в буквальном смысле, все это работает только один раз ...
Здесь моя функция создания пользователя:
handleSignUp = () => {
Fire.shared.createUser(this.state.email, this.state.password, this.state.name, this.state.avatar, this.state.mobile, this.state.pickerSelection, this.state.errorMessage)
if (this.state.name == "") this.setState({ errorMessage: "Vartotojo vardas privalomas" });
else if (this.state.email == "") this.setState({ errorMessage: "El. pašto adresas privalomas" });
else if (this.state.password == "") this.setState({ errorMessage: "Slaptažodis privalomas" });
else if (this.state.password2 == "") this.setState({ errorMessage: "Pakartokite slaptažodį" });
else if (this.state.city == "") this.setState({ errorMessage: "Telefono nr. privalomas" });
else if (this.state.mobile == "") this.setState({ errorMessage: "Miestas privalomas" });
else if ( this.state.password != this.state.password2) this.setState({ errorMessage: "Slaptažodžiai nesutampa" });
else {
Fire.shared.createUser(this.state.email, this.state.password, this.state.name, this.state.avatar, this.state.mobile, this.state.pickerSelection);
};
};
Может быть, это из-за ASYN C и AWAIT? Я использую только из-за учебника, я не уверен, что это такое.