onClick从reactjs中的数组中删除对象?

时间:2017-05-26 12:53:01

标签: javascript reactjs

无法从阵列中删除我的列表,我也使用了反应更新插件,但它不起作用

我的删除功能

deleteTips(item){
  var array = this.state.newTips;
  var index = array.indexOf(item)
  array.splice(index, 1);
  this.setState({newTips: array });
}

我的渲染功能

{ this.state.newTips.map((item, j) => {
  const nameVal = "tips" + j
  return(
      <div style={{width:"8%","float":"right","marginTop":"10px"}}>    
        <img style={{marginLeft: '10px'}} onClick={this.deleteTips.bind(this, item)}/>
      </div>                                                                                
    )
  })
}

1 个答案:

答案 0 :(得分:2)

您正在修改作为组件状态的数组,因此您的setState可能不起作用,因为新状态与旧状态相同。

你能试试吗

 deleteTips(item){
   var array = this.state.newTips.filter(function(s) { return s != item });
   this.setState({newTips: array });
}