Хранение значений в базе данных Firebase и навигации в native - PullRequest
0 голосов
/ 14 мая 2019

У меня есть форма для входа, и при заполнении этой формы я ожидаю, что значения будут сохранены в БД, а затем она должна перейти на страницу подтверждения. Проблема - пустое значение сохраняется

PS: навигация работает нормально с передачей значений без функции вставки в БД.

userLogin(email, password) {
  firebase.database().ref('users/').set({
    userEmail: email,
    userPass: password,
  }).catch((error)=>{
      console.log('error ' , error)
    });
}



           <Button
          title="Go to Details"
          onPress = {this.userLogin(this.state.email, this.state.password),
            this.props.navigation.navigate('Details', {
          email: this.state.email, 
          password: this.state.password,
          title: "Details Screen",
           })

          }
        />

1 Ответ

0 голосов
/ 14 мая 2019
  1. Используйте проверку подлинности Firebase для обработки потоков регистрации и входа, Firebase сохранит данные проверки подлинности пользователя.

userLogin = (email, password) =>{
        this.setState({
            loading:true
        })
        try {
            if(this.state.password.length >= 6){
                firebase.auth().signInWithEmailAndPassword(email,password).then(response =>{
                    this.props.navigation.navigate('Details');
                }).catch(error => {
                    alert("Email or password is incorrect");
                    this.setState({
                        loading: false
                    })
                })
            }else{
                alert("Password must be more than 6 characters")
                this.setState({
                    loading: false
                })
                return;
            }
        } catch (error) {
            console.log(error.toString())
        }
    }
    
    
    <Button title="Go to Details" onPress={()=>this. userLogin(this.state.email, this.state.password)} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...