Как добавить событие для ввода реакции - PullRequest
0 голосов
/ 05 февраля 2019

Я использую реагирование для создания таблицы с перетаскиваемыми строками.Эти строки имеют входы для смены реквизита.Когда я использую onChange={this.onchange(this.value)}, я получаю следующую ошибку:

Предупреждение: сбойный тип проп: Код проверки типа React.PropTypes удален в производстве.

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

Вы предоставили value реквизит для поля формы без обработчика onChange.Это сделает поле только для чтения.

Мой полный код можно найти по этой ссылке: Мой код

Это код без событий onchange длявходы, чтобы вы могли увидеть результат.Я хочу добавить события onchange в поля ввода и изменить значение внутри JSON.

1 Ответ

0 голосов
/ 05 февраля 2019

Вы используете значение prop на своих входах, но не предоставляете ему метод для фактической обработки изменения.

К вашему вводу добавьте обработчик onChange, но не вызывайтеit .

<input type="text" value={props.caption} onChange={this.handleChange}/>

Функция handleChange должна выглядеть следующим образом:

handleChange = (e) => this.setState({something: e.target.value})

Она принимает событие какаргумент, и вы получаете доступ к значению ввода, используя e.target.value;Затем вы обновляете состояние новым значением, которое должно быть привязано к входному значению value prop.Это называется контролируемый компонент, где вы обрабатываете изменения в React.

Подробнее о контролируемых и неконтролируемых компонентах можно прочитать здесь: https://reactjs.org/docs/uncontrolled-components.html

...