ReactJS:从状态数组中删除一个项目

时间:2016-07-14 23:28:45

标签: javascript reactjs state

我试图根据它的索引从状态数组中删除一个Item,结果不一致:

我的组件:

<ul ref="exception-list">
  {this.state.exceptions.map(function(exception, c){
    return <div key={c}>
      <br/>

      <small><p>Time Range: <span className="slider-time">{exception.start.toString()}</span> - <span className="slider-time2">{exception.end.toString()}</span></p></small>
      <div className="sliders_step1" name={c} key={c}>
          <div className="slider-range" name={c} key={c} ></div>
      </div>
      <a onClick={this.clearOne.bind(null, c)}>clear1</a>
      </div>}, this)}
</ul>

如您所见,我将c(计数/索引)传入我的函数clearOne

    clearOne: function(index) {
        console.log("index from clearOne", index)
        this.setState({exceptions: this.state.exceptions.filter((x,i) => i != index )})

},

从理论上说这应该有效,但我似乎得到了非常复杂的结果。也就是说,在所有情况下都没有正确删除正确的项目。有时候前面的索引会被删除。我做错了什么吗?如果需要,我可以提供更多信息。

0 个答案:

没有答案