Tôi có một thành phần phản ứng đơn giản với hình thức mà tôi tin là có một đầu vào được kiểm soát:
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;
Khi tôi chạy ứng dụng của mình, tôi nhận được cảnh báo sau:
Cảnh báo: MyForm đang thay đổi kiểu nhập văn bản không kiểm soát được kiểm soát. Các yếu tố đầu vào không nên chuyển từ không kiểm soát sang kiểm soát (hoặc ngược lại). Quyết định giữa việc sử dụng phần tử đầu vào được kiểm soát hoặc không được kiểm soát trong suốt vòng đời của thành phần
Tôi tin rằng đầu vào của tôi được kiểm soát vì nó có giá trị. Tôi đang tự hỏi tôi đang làm gì sai?
Tôi đang sử dụng React 15.1.0