我尝试为组件的循环数量,但它似乎不起作用。我setState
totalitem
到5,输出组件只有1.
_renderSomeItems(){
for(var i = 0; i < this.state.totalitem; i++){
return(
<SpecialItem key={i} />
);
}
}
答案 0 :(得分:1)
return
循环内的 for
将结束循环。您应该使用Array.prototype.map()
。别忘了return
map
的结果。
_renderSomeItems(){
// considering this.state.totalitem is to be an array
return this.state.totalitem.map((item, index) => {
return(
<SpecialItem key={index} />
);
}
}
// or
_renderSomeItems(){
const results = [];
for(var i = 0; i < this.state.totalitem; i++){
results.push(<SpecialItem key={i} />);
}
return results;
}
答案 1 :(得分:0)
使用lodash
import _ from 'lodash'
_renderSomeItems(){
return _.range(this.state.totalitem).map(item, index) => (
<SpecialItem key={i} />
);
}