我有一个可以通过按下按钮删除的项目列表,如附带的屏幕截图所示 .
删除任何项目在第一次工作正常,但是当我尝试删除另一项时它将无法工作,因为该组件从以前删除的项目接收数据 .
这是我的代码:
父组件
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)
})
}
{this.state.configurations.map((config, index) => {
let boundDeleteClick = this.onDeleteClick.bind(this, config);
return (
key={`item-${index}`}
handleRemove={boundDeleteClick}/>
)
})}
ConfigCardView 组件:
...
this.props.handleRemove()}>Delete
...
我无法弄清楚我错过了什么......
UPDATE
我已经修复了删除项目后更新 configurations state属性:
this.props.deleteConfigAction(config.configId)
.then(res => {
...
this.setState({configurations: newData})
})