Mam prosty element reagujący z formularzem, który moim zdaniem ma jedno kontrolowane wejście:
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;
Po uruchomieniu aplikacji pojawia się następujące ostrzeżenie:
Ostrzeżenie: MyForm zmienia niekontrolowane wprowadzanie tekstu kontrolowanego. Elementy wejściowe nie powinny przełączać się z niekontrolowanego na kontrolowane (lub odwrotnie). Wybierz między użyciem kontrolowanego lub niekontrolowanego elementu wejściowego przez cały okres użytkowania komponentu
Uważam, że mój wkład jest kontrolowany, ponieważ ma wartość. Zastanawiam się, co robię źle?
Używam React 15.1.0