Как изменить и получить состояние от TouchableHighlight onPress?

У меня проблема с тем, как получить и установить состояние из функции, которую я вызываю на onPress. Однако у меня нет проблем, чтобы получить и установить в другом месте. Как я могу изменить или получить состояние от onPress?

Вот мой код:

Кнопка:

<TouchableHighlight style={styles.submit_button} underlayColor='#FCD4A9' onPress={this.saveAbsenceData}>
  <Text style={{textAlign:'center',color:'white'}}>
   Submit
  </Text>
</TouchableHighlight>

Функция saveAbsenceData:

saveAbsenceData() {

  () => this.setState({
    visible: true
  })

  let formdata = new FormData();

  formdata.append("start_date", ()=> this.state.startDate);
}

с кодом выше состояние не меняется и this.state.startDate пусто

1 ответ

Это может быть потому, что вы не обязательны this по вашему методу saveAbsenceData, Добавьте следующий фрагмент кода в ваш конструктор.

this.saveAbsenceData.bind(this)

или попробуйте следовать

onPress={()=> this.saveAbsenceData()}
Другие вопросы по тегам