反应删除多个项目

时间:2018-08-10 08:51:29

标签: reactjs

我有一个可以通过按按钮删除的项目列表,如所附的屏幕截图所示。 enter image description here

第一次删除任何项目都可以,但是当我尝试删除另一个项目时,它将无法正常工作,因为组件从先前删除的项目中接收了数据。

这是我的代码:
父组件

onDeleteClick(config, e) {
  // it removes the item at the first time
  // on the second try the received config parameter is the same as before
  this.props.deleteConfigAction(config.configId)
  .then(res => {
    ...
  })
  .catch(err => {
    console.log(err)
  })
}

<Flexbox  marginTop='20px' flexDirection='column'>
  {this.state.configurations.map((config, index) => {
    let boundDeleteClick = this.onDeleteClick.bind(this, config);
    return (
      <ConfigCardView
        key={`item-${index}`}
        handleRemove={boundDeleteClick}/>
    )
  })}
</Flexbox>

ConfigCardView组件:

...
<button onClick={(e, config) => this.props.handleRemove()}>Delete</button>
...

我不知道自己想念什么...


更新
我已通过删除项目后更新configurations状态属性来解决此问题:

  this.props.deleteConfigAction(config.configId)
  .then(res => {
    ...
    this.setState({configurations: newData})
  })

0 个答案:

没有答案