Реагировать родной ввода текста вставка и обновление


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

if (this.state.mode == 'edit') {
    customer.updateCustomer(JSON.stringify(customerregVOObj)); 
} else {
    customerregVOObj._id = 'abc';
    customer.createCustomer(customerregVOObj); 
} 
updateCustomer = () => {
    customerregVOObj.shopName = this.state.shopName; 
}

<TextInput 
  underlineColorAndroid='transparent' style={styles.input}
  returnKeyType={"next"} autoFocus={true} placeholder="Shop Name"
  onChangeText={(text) => this.setState({ shopName: text })}
  value={this.state.shopDetail.shopName} 
/>



this.state.mode == 'new' ? <Button onPress={this.updateCustomer} title="Submit" /> :
  <Button onPress={this.updateCustomer} title="Update" />
1 2

1 ответ:

Вы передаете неверное состояние в значение. Пожалуйста, замените приведенный ниже код:

<TextInput 
  underlineColorAndroid='transparent' style={styles.input}
  returnKeyType={"next"} autoFocus={true} placeholder="Shop Name"
  onChangeText={(text) => this.setState({ shopName: text })}
  value={this.state.shopName} 
/>