null не является объектом: (оценивая this.state.email) - PullRequest
0 голосов
/ 20 января 2019

Я создаю форму авторизации. Но возникли проблемы с этой проблемой. это то, что я сделал до сих пор.

loginUser = async(email, password) => {
    if(email != '' && password != ''){
      try {
        let user = await auth.signInWithEmailAndPassword(email,password);
        console.log(user);
      } catch (error) {
        console.log(error);
      }
    } else {
      alert("some error")
    }
  }

и внутри рендера:

render(){
    return(
      <View>
        <Text>Email</Text>
        <TextInput
          onChangeText={(text) => this.setState({email: text})}
          value={this.state.email}
        />
        <Text>Password</Text>
        <TextInput
          onChangeText={(text) => this.setState({password: text})}
          value={this.state.password}
          secureTextEntry={true}
        />
        <TouchableHighlight style={{backgroundColor: "green"}}
          onPress={() => this.loginUser(this.state.email, this.state.password)}>
          <Text>Login!</Text>
        </TouchableHighlight>

        <TouchableHighlight style={{backgroundColor: "green"}}
          onPress={()=> this.loginWithFacebook()}>
          <Text>Login with Facebook!</Text>
        </TouchableHighlight>
      </View>
    );
  }
}

Что я здесь не так делаю? Потому что функция loginUser не работает должным образом ... Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Добавьте этот код после объявления вашего класса:

state = {
  email: '',
  password: '',
}

Код не выполняется, потому что вы пытаетесь получить ключ obj, который не существует.Сначала нужно создать его.

0 голосов
/ 20 января 2019

Я не вижу конструктор в коде. Попробуйте добавить это.

constructor(props){
    super(props);
    this.state = {
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...