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

Javascript ReactJS:从状态数组中删除一项,javascript,reactjs,state,Javascript,Reactjs,State,我试图根据状态数组的索引将其删除,但结果不一致: 我的组成部分: <ul ref="exception-list"> {this.state.exceptions.map(function(exception, c){ return <div key={c}> <br/> <small><p>Time Range: <span className="slider-time">{excep

我试图根据状态数组的索引将其删除,但结果不一致:

我的组成部分:

<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>

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

我曾经有过同样的问题。问题是使用索引作为键检查这个问题的答案:是的,你不能在这个案例中使用索引作为键。问题是使用索引作为键检查这个问题的答案:是的,你不能使用索引作为本例的键。
    clearOne: function(index) {
        console.log("index from clearOne", index)
        this.setState({exceptions: this.state.exceptions.filter((x,i) => i != index )})

},