जवाबों:
यह स्टेटफुल DOM कंपोनेंट्स (फॉर्म एलिमेंट्स) से संबंधित है और रिएक्ट डॉक्स अंतर को समझाता है:
propsकॉलबैक के माध्यम से परिवर्तनों के माध्यम से अपने वर्तमान मूल्य को लेता है और सूचित करता है onChange। एक अभिभावक घटक कॉलबैक को संभालकर और अपने स्वयं के राज्य का प्रबंधन करके और नियंत्रित घटक के लिए नए मानों को पारित करके इसे "नियंत्रित" करता है। आप इसे "डंबल कंपोनेंट" भी कह सकते हैं।refजब जरूरत पड़ती है तो आप इसके वर्तमान मूल्य का पता लगाने के लिए डोम का उपयोग करते हैं। यह पारंपरिक HTML की तरह थोड़ा अधिक है।अधिकांश देशी रिएक्ट फॉर्म घटक नियंत्रित और अनियंत्रित उपयोग दोनों का समर्थन करते हैं:
// Controlled:
<input type="text" value={value} onChange={handleChange} />
// Uncontrolled:
<input type="text" defaultValue="foo" ref={inputRef} />
// Use `inputRef.current.value` to read the current value of <input>
अधिकांश (या सभी) मामलों में आपको नियंत्रित घटकों का उपयोग करना चाहिए ।
stateबजाय के माध्यम से लिया मूल्य नहीं है props?
props। एक अनियंत्रित घटक stateमूल्य को आंतरिक रूप से नियंत्रित करने के लिए उपयोग करेगा । यह महत्वपूर्ण अंतर है।
controlled components( <input type="text" value="value" onChange={handleChangeCallbackFn} />) बनाम पारंपरिक HTML कहा जाता है जहां एक इनपुट तत्व अपने स्वयं के मूल्य को संभालता है और refsबुलाया uncontrolled components( <value type="text" />) के माध्यम से पढ़ा जा सकता है । नियंत्रित घटक setStateप्रॉप्स के रूप में अपने मूल घटक से प्राप्त या प्राप्त करके अपने स्वयं के राज्य का प्रबंधन कर रहे हैं ।
defaultValueप्रॉपर के माध्यम से प्राप्त करता है, लेकिन जो नियंत्रक को सूचित करता है onBlur?
<Button onClick={() => console.log("clicked")}>Click</Button>:।