Установить состояние в типе ввода без функции обратного вызова - PullRequest
2 голосов
/ 12 апреля 2019

Я пытаюсь установить состояние в самом поле ввода.это дает мне [object object], когда я набираю какое-то значениеНиже приведен код:

<input
  type="text"
  name='name'
  value={this.state.name}
  onChange= {(name) => this.setState({ name })}
/>

Что здесь не так?

Ответы [ 2 ]

3 голосов
/ 12 апреля 2019

Вы, вероятно, передаете весь объект события, а не просто значение цели.Попробуйте это:

onChange={e => setState({name: e.target.value})}

Для лучшего понимания прочитайте это: https://reactjs.org/docs/forms.html

2 голосов
/ 12 апреля 2019

Хорошо, когда событие onChange запускается для входного тега, объект Событие передается в функцию обратного вызова.Таким образом, чтобы получить значение того, что печатает пользователь, вы должны изменить его на

onChange={(event) => this.setState({name: event.target.value})}
...