我的问题是我在使用map函数时没有创建react元素时尝试更改索引值。
我当前的(非工作代码):
{this.state.images.map(function (image, index) {
if(!image.cover_photo){
return <OutfitImage image={image} key={index} id={index} onRemoveImage={this.removeImage} onSetCoverPhoto={this.setCoverPhoto} />;
}else{
index--;
}
}.bind(this))}
此代码位于组件的渲染函数的return()块中。
我想这样做的原因是因为我使用索引值作为创建的每个元素的id。这个id帮助我确定每次创建元素时有多少元素。 这样做的目的是我想在每个4rth元素之后添加一个“clearfix”。
简单的解决方案:我可以创建一个新的图像数组,留下我不需要的图像,因此索引总是正确的。
但是我正在寻找替代解决方案,不需要我事先更改原始数组或创建新数组。