สิ่งนี้เกี่ยวข้องกับส่วนประกอบ DOM ที่มีสถานะ (องค์ประกอบฟอร์ม) และเอกสาร React อธิบายความแตกต่าง:
- ตัวแทนควบคุมเป็นสิ่งหนึ่งที่ต้องใช้ค่าปัจจุบันผ่านและแจ้งการเปลี่ยนแปลงผ่านการเรียกกลับเช่น
props
onChange
องค์ประกอบหลัก "ควบคุม" โดยจัดการการเรียกกลับและจัดการสถานะของตัวเองและส่งผ่านค่าใหม่เป็นอุปกรณ์ประกอบฉากไปยังส่วนประกอบที่ควบคุม คุณสามารถเรียกสิ่งนี้ว่า "องค์ประกอบใบ้" ก็ได้
- ไม่มีการควบคุมตัวแทนเป็นหนึ่งในร้านค้าที่รัฐของตัวเองภายในและคุณสอบถาม DOM ใช้
ref
เพื่อหามูลค่าปัจจุบันเมื่อคุณต้องการมัน ซึ่งคล้ายกับ HTML แบบเดิมเล็กน้อย
ส่วนประกอบรูปแบบการตอบสนองดั้งเดิมส่วนใหญ่รองรับการใช้งานทั้งแบบควบคุมและไม่มีการควบคุม:
<input type="text" value={value} onChange={handleChange} />
<input type="text" defaultValue="foo" ref={inputRef} />
ในที่สุด (หรือทั้งหมด) กรณีที่คุณควรใช้ส่วนประกอบควบคุม