Bir jQuery bileşenini React.js'ye dönüştürmeye çalışıyorum ve zorluk yaşadığım şeylerden biri, for döngüsüne dayalı n sayıda öğeyi oluşturmaktır.
Bunun mümkün olmadığını veya tavsiye edilmediğini ve modelde bir dizi bulunduğunda kullanılmasının tamamen mantıklı olduğunu anlıyorum map. Sorun değil, ama bir diziniz olmadığında ne olacak? Bunun yerine, işlenecek belirli sayıda öğeye eşit olan sayısal bir değere sahipsiniz, o zaman ne yapmalısınız?
Örneğim burada, hiyerarşik düzeyine bağlı olarak rastgele sayıda span etiketi içeren bir öğenin önüne eklemek istiyorum. Yani 3. seviyede, metin öğesinden önce 3 yayılma etiketi istiyorum.
JavaScript'te:
for (var i = 0; i < level; i++) {
$el.append('<span class="indent"></span>');
}
$el.append('Some text value');
Bunu veya bir JSX React.js bileşeninde çalışmaya benzer bir şey alamıyorum. Bunun yerine, önce doğru uzunlukta bir geçici dizi oluşturup ardından diziyi döngüye alarak aşağıdakileri yapmak zorunda kaldım.
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"
...
);
}
Şüphesiz bu, bunu başarmanın en iyi yolu veya tek yolu olamaz? Neyi kaçırıyorum?