Реакция состояния ввода не обновляется с помощью функции обновления, которая устанавливает состояние - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь получить модал на своей странице, чтобы получить и обновить его значение в зависимости от состояния компонента, и функцию обновления под названием onChange.

В настоящее время это выглядит так:

constructor() {
  this.state = {
   name: '',
  }
}

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

render() {
                <div className="modal__content__wrapper">
                    <div className="modal--display">
                        <label className='modal--label'> Name</label>
                        <input
                            className='modal--input'
                            onChange={this.updateName}
                            value={this.state.name}
                            />
                    </div>
                </div>
}

Это кажется таким простым, но я не уверен, что делаю неправильно.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вам не хватает super() и return().Кроме того, updatedName написана с ошибкой при вызове.

constructor() {
 super();
  this.state = {
   name: '',
  }
}

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

render() {
 return(
   <div className="modal__content__wrapper">
     <div className="modal--display">
     <label className='modal--label'> Name</label>
       <input
         className='modal--input'
         onChange={this.updatedName}
         value={this.state.name}
       />
     </div>
    </div>
  )
 }
0 голосов
/ 12 декабря 2018
 onChange={this.updateName}

Я думаю, что вам не хватает .bind (это).Try,

this.updateName.bind(this)

Update,

Возможно, имя вашей функции содержит опечатку.

У вас есть this.updateName в операторе return и this.updatedName в функцииопределение (примечание "d" в обновлении "d" Имя).

...