पोस्ट
वेनिला जावास्क्रिप्ट से React Input Value बदलना
27 जुलाई 2020 • 1 मिनट पढ़ना

संक्षिप्त उत्तर:
function setNativeValue(element, value) {
let lastValue = element.value;
element.value = value;
let event = new Event("input", { target: element, bubbles: true });
// React 15
event.simulated = true;
// React 16
let tracker = element._valueTracker;
if (tracker) {
tracker.setValue(lastValue);
}
element.dispatchEvent(event);
}
var input = document.getElementById("ID OF ELEMENT");
setNativeValue(input, "VALUE YOU WANT TO SET");
संदर्भ: https://stackoverflow.com/a/52486921/17360
विस्तृत उत्तर:
React मूल जावास्क्रिप्ट onChange व्यवहार को ओवरराइड करता है। onChange इवेंट को ट्रिगर करना React की नजर में input field की value बदलने के लिए कुछ नहीं करता। React के लिए value अभी भी अपरिवर्तित है, भले ही उपयोगकर्ता को स्क्रीन पर value स्पष्ट रूप से दिखाई दे रही हो। उपरोक्त कोड React में भी परिवर्तन को ट्रिगर करता है।
लेखक: चक कॉनवे सॉफ्टवेयर इंजीनियरिंग और जेनेरेटिव AI में विशेषज्ञता रखते हैं। उनसे सोशल मीडिया पर जुड़ें: X (@chuckconway) या उन्हें YouTube पर देखें।