कहें कि मेरे पास Parent
घटक है जो Child
घटकों का एक सेट प्रस्तुत करता है। जब उन Child
घटक में से एक को घुमाते हैं, तो मैं उसी समूह में मौजूद Child
घटकों को (बीजी रंग) को हाइलाइट करना चाहता हूं।माता-पिता से बच्चों के समूह का चयन कैसे करें?
देखें कोड, प्रत्येक Child
एक समूह संपत्ति है:
https://jsfiddle.net/69z2wepo/53442/
const Parent = React.createClass({
render() {
const rows = [];
let group = 1;
for (let i = 1; i <= 12; i++) {
rows.push(<Child key={i} id={i} group={group} />);
if (i % 3 === 0) {
group++;
}
}
return (
<ul>
{rows}
</ul>
);
}
});
const Child = React.createClass({
render() {
return (
<li className="child">id: {this.props.id} - group: {this.props.group}</li>
);
}
});
ReactDOM.render(
<Parent />,
document.getElementById('app')
);
अगर मैं 6 की आईडी संपत्ति के साथ Child
मंडराना, मैं Child
घटकों, जिसमें हैं के सभी कैसे उजागर करते एक ही समूह, यानी समूह 2?
एनबी: यदि मैं शीर्षक भ्रामक है तो मैं प्रतिक्रिया करने के लिए नया हूं और खेद है।
यह बढ़िया है। क्या आप कृपया मुझे बता सकते हैं कि यह कोड कैसे काम करता है?'className = {this.props.active && 'active'}' – Matthew
ज़रूर! वर्ग नाम असाइन करने के मूल्यांकन के लिए यह बहुत अधिक "शॉर्ट सर्किट" मूल्यांकन है। चूंकि 'सक्रिय' एक बूलियन प्रोप घटक को पास किया गया है, इसलिए हम इसके खिलाफ मूल्यांकन कर सकते हैं। यह 'सत्य' होना चाहिए, यह मूल्यांकन जारी रखेगा और स्ट्रिंग 'सक्रिय' (इस मामले में, हमारे वर्ग का नाम) असाइन करेगा। यदि यह 'झूठा' है, तो यह वहां रुक जाएगा और कक्षा को असाइन नहीं करेगा)। मैंने इस पैटर्न को वास्तव में बहुत कुछ देखा है जब आप या तो कुछ या कुछ भी असाइन करना चाहते हैं (एक टर्नरी ऑपरेटर के विपरीत)। उम्मीद है कि यह इसे साफ़ करता है! –
एक अतिरिक्त के रूप में, आप इसे इस प्रकार लिख सकते हैं: 'className = {this.props.active? 'सक्रिय': ''} '। दोनों दृष्टिकोण बराबर हैं। मैं बस बेहतर बेहतर पसंद करता हूं। –