मेरे पास <SensorList />
नामक एक प्रतिक्रिया घटक है जिसमें कई बच्चे <SensorItem />
एस (एक और प्रतिक्रिया घटक) हैं। मैं <SensorList />
के भीतर से प्रत्येक <SensorItem />
पर onClick
ईवेंट घोषित करने में सक्षम होना चाहता हूं। मैंने निम्नलिखित करने का प्रयास किया है:घटक पर क्लिक करें घटक
sensorSelected: function(sensor) {
console.log('Clicked!');
},
render: function() {
var nodes = this.state.sensors.map(function(sensor) {
return (
<SensorItem onClick={ this.sensorSelected } />
);
}.bind(this));
return (
<div className="sensor-list">
{ nodes }
</div>
);
}
कहने की जरूरत नहीं है, मुझे कोई भी "क्लिक नहीं किया गया"! मेरे कंसोल में आ रहा है। क्रोम में रिएक्ट इंस्पेक्टर इंगित करता है कि उपरोक्त फ़ंक्शन बॉडी के साथ onClick
ईवेंट पंजीकृत है।
मैं निष्कर्ष निकाला हूं कि मैं onClick
वास्तविक <SensorItem />
टैग पर ईवेंट पंजीकृत नहीं कर सकता (मुझे यकीन नहीं है कि यह क्यों है)। मैं इसे अन्यथा प्राप्त करने के बारे में कैसे जा सकता हूं?
समझ लिया, मैं शायद सोचा था कि एक घटक स्वतः मुख्य डोम नोड के लिए किसी भी घटनाओं पर पारित ('getDOMNode()'), लेकिन ऐसा कोई कारण नहीं है कि यह मामला होना चाहिए। – GTF
मैंने सोचा था कि, माना जाता था कि फेसबुक पर उन प्रतिभाओं ने सोचा होगा कि यह सुविधाजनक होगा। पर्याप्त सुविधाजनक नहीं, मुझे लगता है। – Cody
उसमें जोड़ने के लिए, आप मुख्य डीओएम नोड से * सभी * प्रोपों को तर्कसंगत रूप से तर्क विनाशकारी वाक्यविन्यास के साथ आसानी से पारित कर सकते हैं: '' कॉन्स्ट सेंसरटिम = ({... props}) => { वापसी (