ฉันพยายามแปลงองค์ประกอบ jQuery เป็น React.js และสิ่งหนึ่งที่ฉันมีปัญหาคือการแสดงองค์ประกอบจำนวน n ตามการวนรอบ
map
ผมเข้าใจในเรื่องนี้เป็นไปไม่ได้หรือแนะนำและว่าที่อาร์เรย์ที่มีอยู่ในรูปแบบมันทำให้รู้สึกที่สมบูรณ์ในการใช้งาน ไม่เป็นไร แต่ถ้าคุณไม่มีอาเรย์ล่ะ? แต่คุณมีค่าตัวเลขซึ่งเท่ากับจำนวนองค์ประกอบที่กำหนดที่จะแสดงดังนั้นคุณควรทำอย่างไร
นี่คือตัวอย่างของฉันฉันต้องการนำหน้าองค์ประกอบที่มีแท็ก span จำนวนเท่าใดก็ได้ตามระดับของลำดับชั้น ดังนั้นที่ระดับ 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"
...
);
}
แน่นอนว่านี่จะไม่ใช่วิธีที่ดีที่สุดหรือเป็นวิธีเดียวที่จะบรรลุเป้าหมายนี้ ฉันพลาดอะไรไป