मेरी प्रतिक्रिया घटक में मैं किसी कारण जब मैं प्रपत्र ऑनसबमिट का उपयोग this.props
दायरे में नहीं है के लिए ऑनसबमिट समारोहयह सबमिशन फ़ंक्शन पर प्रतिक्रिया फ़ॉर्म में क्यों नहीं है?
<form className="form-horizontal" name="taskForm" onSubmit={this.submitTask}>
submitTask(e) {
e.preventDefault();
console.log(this.props); // undefined
console.log(this) // window object
}
साथ एक रूप है। जब मैं console.log(this.props)
कन्स्ट्रक्टर में, प्रोप सामान्य रूप से लॉग आउट करता है।
जब मैं console.log(this)
यह विंडो ऑब्जेक्ट है। मैं प्रतिक्रिया घटक का दायरा कैसे प्राप्त करूं?
'ऑनसबमिट = {this.submitTask .bind (यह)} '। ** [लिंक] (http://reactkungfu.com/2015/07/why-and-how-to-bind-methods-in-your-react-component-classes/) **। –
ताहिर सही है, हालांकि मैं आपके कन्स्ट्रक्टर में फ़ंक्शन को बाध्य करने की सिफारिश करता हूं, न कि आपके 'रेंडर' विधि के अंदर, ताकि यह केवल एक बार बाध्य हो, हर बार जब आप रेंडर करते हैं। बाध्यकारी के बिना एक और तरीका 'सबमिट करें = {event => this.submitTask (event, this.props)} ' – azium
@azium की प्रतिक्रिया सही उत्तर होना चाहिए ... आपके पास प्रोप, फ़ंक्शंस और सभी तक पूर्ण पहुंच है। – Mussser