увеличить ввод текста с кнопки

Я пытаюсь увеличить/уменьшить ввод текста, когда кто-то нажимает определенную кнопку, но мне выдается следующая ошибка

введите здесь описание изображения

код

constructor (props) {
    super(props)
    this.state = {qty: 1};
  }

<TextInput
                  style={styles.qtyValue}
                  value={this.state.qty}
                  keyboardType='number-pad'
                  defaultValue='1'
                  />
                <TouchableOpacity onPress={() => this.setState({qty: this.state.qty++})}>
                  <View style={styles.transparentButton}>
                    <Text>+</Text>
                  </View>
                </TouchableOpacity>

person Boss Nass    schedule 27.01.2017    source источник


Ответы (1)


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

value={this.state.qty.toString()}
person Matt Aft    schedule 27.01.2017
comment
повлияет ли это на что-либо, если мне нужно это значение для расчета. также я замечаю, что когда я нажимаю кнопку, значение, которое я установил по умолчанию «1», исчезает - person Boss Nass; 27.01.2017
comment
Вы должны сделать this.setState({ qty: this.state.qty + 1 }), то, как вы это делаете, мутирует состояние. - person Matt Aft; 27.01.2017