Реагировать на собственный запрос Post для страницы регистрации в стиле формы. Ошибка: undefined не является объектом (оценка 'this.state.given_name') - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь создать экран регистрации для моего собственного собственного приложения. Я хочу сделать так, чтобы пользователь мог вводить свои данные в textInputs, и данные публикуются, и создается новый пользователь. Я считаю, что ошибка в textInput или Button.

Параметры, API c

User {
  given_name    string
  family_name   string
  email string
  password  string
 }

Код:

Конструктор

constructor(props) {
    super(props);
    this.state = {
      given_name: '',
      family_name: '',
      email: '',
      password: ''
    };
  }

Пример одного из моих текстовых входов

<View style={globalStyles.input}>
 <TextInput
   placeholder="Enter Family Name"
   onChangeText={(family_name) => this.setState({family_name})}
   value = {this.state.family_name}
 />
</View>

Кнопка

<View style={globalStyles.buttons}>
 <Button title="Create Account!"
   onPress={() => this.createUser()} 
 />
</View>

Создать метод пользователя

  createUser(){
    return fetch("http://10.0.0.2.2:3333/api/v0.0.5/user",
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        given_name: this.state.given_name,
        family_name: this.state.family_name,
        email: this.state.email,
        password: this.state.password
      })
    })
    .then((response) => {
      Alert.alert("Successfully created user!");
    })
    .catch((error) => {
      console.error(error);
    });
  }

Ошибка

Код ошибки

...