ฉันมีองค์ประกอบการตอบสนองที่เรียบง่ายด้วยแบบฟอร์มซึ่งฉันเชื่อว่ามีอินพุตที่ควบคุมได้หนึ่งรายการ:
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