У меня есть простой компонент реагирования с формой, которая, как мне кажется, имеет один контролируемый вход:
import React from 'react';
export default class MyForm extends React.Component {
constructor(props) {
super(props);
this.state = {}
}
render() {
return (
<form className="add-support-staff-form">
<input name="name" type="text" value={this.state.name} onChange={this.onFieldChange('name').bind(this)}/>
</form>
)
}
onFieldChange(fieldName) {
return function (event) {
this.setState({[fieldName]: event.target.value});
}
}
}
export default MyForm;
Когда я запускаю свое приложение, я получаю следующее предупреждение:
Предупреждение: MyForm изменяет неконтролируемый ввод текста типа для управления. Входные элементы не должны переключаться с неуправляемых на управляемые (или наоборот). Выберите между использованием контролируемого или неконтролируемого элемента ввода в течение срока службы компонента.
Я считаю, что мой вклад контролируется, поскольку он имеет ценность. Мне интересно, что я делаю не так?
Я использую React 15.1.0