2015-08-22 7 views
5

फेसबुक की प्रतिक्रिया युक्तियों पृष्ठ Communicate Between Components पर वे माता-पिता के हैंडलक्लिक() विधि पर तर्क पारित करने के लिए जावास्क्रिप्ट के बाइंड() का उपयोग करके एक उदाहरण दिखाते हैं।प्रतिक्रिया बाध्य करें और घटना ऑब्जेक्ट तक पहुंच रखें?

यह अच्छी तरह से काम करता है, एक ईवेंट हैंडलर के पहले तर्क को बांधने के अलावा, अब ट्रिगर होने वाली घटना नहीं है। मुझे अभी भी घटना तक पहुंच पसंद है तो इस संबंध में मेरे विकल्प क्या हैं?

+2

'onClick = {e => this.handle क्लिक करें (ई, i)}' – zerkms

+0

बहुत बढ़िया, यह सही काम करता है। अब मैं घटना पर डिफ़ॉल्ट रूप से रोक सकता हूं और साथ ही e.target तक पहुंच सकता हूं :) चूंकि यह एक टिप्पणी है, लेकिन मैं इसे उत्तर के रूप में चिह्नित नहीं कर सकता। ES12 के बिना – Sgraffite

उत्तर

3

तुम बस के रूप में

onClick={e => this.handleClick(e, i)} 

इस तरह आप एक नई अज्ञात समारोह है कि दोनों मूल घटना और अपने कस्टम डेटा गुजरता बनाने निर्दिष्ट करें।

+0

इसे कैसे लिखना है? फ़ंक्शन (ई) { इसे वापस करें .ैंडलक्लिक (ई, i); } ? –

+0

@ फ्रैंकोइस रिचर्ड नोप, आपको इस अज्ञात फ़ंक्शन के बाहर कहीं भी 'var' को कैप्चर करने की आवश्यकता है जैसे 'var that = this;' और फिर – zerkms

+0

के अंदर 'उस' का उपयोग करें ताकि फ़ंक्शन (ई) {var self = this; वापस self.handleClick (ई, i); } सही काम करेगा? समारोह के बाहर –

संबंधित मुद्दे