React Native Firebase - Обновление базы данных со значениями состояния

Я хочу обновить значения в базе данных firebase на основе введенной пользователем информации из текстовых входов. Я установил состояние в событиях onChange текстовых входов как обычно. Но когда я наконец хочу обновить базу данных введенной информацией, ничего не происходит. Я пробовал это тестировать с жестко запрограммированными строками вместо значений состояния, это сработало, и он обновил базу данных. Как я могу заставить это работать для государственных ценностей?

  constructor(props) {
super(props);

this.state = {
  name: "",
  surName: "",
  email: ""
};

}

                    <View style = {styles.surNameHolder}>
                  <Text style = {styles.surNameLabel}>Nachname</Text>
                  <TextInput
                    style = {styles.surNameText}
                    placeholder = "Musterman"
                    keyboardType = "default"
                    hideUnderline = {true}
                    onChange = {surName =>
                      this.setState({ surName: surName })
                    }
                  />
                </View>
                <View style = {styles.nameHolder}>
                  <Text style = {styles.nameLabel}>Vorname</Text>
                  <TextInput
                    style = {styles.nameText}
                    placeholder = "Max"
                    keyboardType = "default"
                    hideUnderline = {true}
                    onChange = {name => this.setState({ name: name })}
                  />
                </View>
              </View>
              <View style = {styles.mailHolder}>
                <Text style = {styles.mailLabel}>E-Mail</Text>
                <TextInput
                  style = {styles.mailText}
                  placeholder = "[email protected]"
                  keyboardType = "default"
                  hideUnderline = {true}
                  onChange = {value => this.setState({ email: value })}
                />
              </View>
              <View
                style = {{
                  flex: 1,
                  justifyContent: "center",
                  alignItems: "center",
                  marginTop: 20
                }}
              >
                <View center style = {styles.postButton}>
                  <TouchableOpacity onPress = {this.updateUserData}>
                    <Text style = {styles.postButtonText}>
                      AGB´s akzeptiert
                    </Text>
                  </TouchableOpacity>
                </View>

  updateUserData = () => {
if (this.state.name) {
  if (this.state.surName) {
    if (this.state.email) {
      var currentUserRef = firebase
        .database()
        .ref("Users")
        .child(firebase.auth().currentUser.uid);

      currentUserRef.update({
        firstName: this.state.name
      });
    }
  }
}

};

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
1 007
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны использовать onChangeText вместо onChange, чтобы текст был аргументом

https://facebook.github.io/react-native/docs/textinput.html#onchangetext

Другие вопросы по теме