मैं एक jQuery घटक को React.js में बदलने की कोशिश कर रहा हूं और उन चीजों में से एक, जिनके साथ मुझे कठिनाई हो रही है एक एन फॉर लूप के आधार पर तत्वों की संख्या प्रदान कर रहा है।
मैं समझता हूं कि यह संभव नहीं है, या सिफारिश की गई है और जहां मॉडल में एक सरणी मौजूद है वह उपयोग करने के लिए पूर्ण समझ में आता है map
। यह ठीक है, लेकिन जब आपके पास सरणी नहीं है तो क्या होगा? इसके बजाय आपके पास संख्यात्मक मूल्य है जो दिए गए तत्वों की एक संख्या के बराबर है, तो आपको क्या करना चाहिए?
यहाँ मेरा उदाहरण है, मैं एक पदानुक्रम स्तर के आधार पर एक तत्व को मनमाना संख्या में टैग के साथ उपसर्ग करना चाहता हूं। तो स्तर 3 पर, मुझे पाठ तत्व से पहले 3 स्पैन टैग चाहिए।
जावास्क्रिप्ट में:
for (var i = 0; i < level; i++) {
$el.append('<span class="indent"></span>');
}
$el.append('Some text value');
मुझे यह, या JSX React.js घटक में काम करने के समान कुछ भी प्रतीत नहीं हो सकता है। इसके बजाय मुझे निम्नलिखित कार्य करना था, पहले एक अस्थायी सरणी को सही लंबाई में बनाना और फिर सरणी को लूप करना।
React.js
render: function() {
var tmp = [];
for (var i = 0; i < this.props.level; i++) {
tmp.push(i);
}
var indents = tmp.map(function (i) {
return (
<span className='indent'></span>
);
});
return (
...
{indents}
"Some text value"
...
);
}
निश्चित रूप से यह सबसे अच्छा, या इसे प्राप्त करने का एकमात्र तरीका नहीं हो सकता है? मैं क्या खो रहा हूँ?