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?