ऐसा लगता है कि कोई वास्तविक अंतर नहीं है
प्रतिक्रिया, किसी कारण से, Component.onChange
DOM element.oninput
इवेंट के लिए श्रोताओं को संलग्न करता है । प्रपत्रों पर दस्तावेज़ में नोट देखें:
प्रतिक्रिया डॉक्स - फ़ॉर्म
ऐसे और भी लोग हैं जो इस व्यवहार से हैरान हैं। अधिक जानकारी के लिए, इस मुद्दे पर प्रतिक्रिया समस्या ट्रैकर पर देखें:
दस्तावेज़ कैसे रिएक्ट के onChange onInput # 3964 से संबंधित है
उस मुद्दे पर टिप्पणियों से उद्धरण:
मुझे समझ में नहीं आता है कि रिएक्ट ने ऑनचेंज जैसा व्यवहार क्यों चुना है। जैसा कि मैं बता सकता हूं, हमारे पास पुराने ऑनचेंज व्यवहार को वापस लाने का कोई तरीका नहीं है। डॉक्स का दावा है कि यह एक "मिथ्या नाम" है, लेकिन वास्तव में ऐसा नहीं है, यह तब होता है जब कोई बदलाव होता है, तब तक नहीं जब तक कि इनपुट भी ध्यान केंद्रित नहीं करता।
सत्यापन के लिए, कभी-कभी हम सत्यापन त्रुटियों को तब तक नहीं दिखाना चाहते जब तक कि वे टाइपिंग न कर लें। या हो सकता है कि हम हर कीस्ट्रोक पर फिर से रेंडर न करें। अब ऐसा करने का एकमात्र तरीका onBlur है लेकिन अब हमें यह भी जांचना होगा कि मान मैन्युअल रूप से बदल गया है या नहीं।
यह बहुत बड़ी बात नहीं है, लेकिन मुझे ऐसा लगता है कि रिएक्ट ने एक उपयोगी घटना को दूर फेंक दिया और मानक व्यवहार से विचलित हो गया जब पहले से ही एक घटना थी जो ऐसा करती है।
मैं टिप्पणी के साथ 100% सहमत हूं ... लेकिन मुझे लगता है कि इसे बदलने से अब अधिक समस्याएं आएंगी क्योंकि यह बहुत कोड पहले से ही लिखा गया था जो इस व्यवहार पर निर्भर करता है।
प्रतिक्रिया आधिकारिक वेब एपीआई संग्रह का हिस्सा नहीं है
भले ही रिएक्ट जेएस के शीर्ष पर बनाया गया है, और एक विशाल गोद लेने की दर देखी गई है, क्योंकि एक प्रौद्योगिकी रिएक्ट अपने स्वयं के (काफी छोटे) एपीआई के तहत बहुत सारी कार्यक्षमता को छिपाने के लिए मौजूद है। एक बार ऐसा क्षेत्र जहां यह स्पष्ट है कि घटना प्रणाली में है, जहां सतह के नीचे बहुत कुछ चल रहा है जो वास्तव में मानक डोम इवेंट सिस्टम से मौलिक रूप से अलग है। न केवल उन घटनाओं के संदर्भ में, जो घटनाएँ करती हैं, बल्कि यह भी कि जब डेटा को ईवेंट हैंडलिंग के किस चरण में जारी रखने की अनुमति है। आप यहाँ उसके बारे में और अधिक पढ़ सकते हैं:
रिएक्ट इवेंट सिस्टम