【发布时间】:2019-03-10 01:56:38
【问题描述】:
这里有任何 React 专家可以帮助我回答我在使用 react 组件时遇到的这个奇怪问题吗?
我正在尝试创建一个函数来删除数组中的项目,但是,setState 不会更新新数组,但 console.log 显示数组已正确更新并正确删除了项目。
constructor (props) {
super (props);
this.state = {
data: dummyData,
chosenData:[],
chosenOption:{}
}
}
onDeleteOptionButtonClick = (id, titleId) => {
const data = this.state.data.map(item => item.id === titleId ? {...item, possibleAnswers: item.possibleAnswers.filter(i => i.id !== id)} : item)
this.setState({ data }, () => {console.log('log of data from state', this.state.data[0].possibleAnswers)})
console.log('log of data from data',data[0].possibleAnswers)
}
您可以看到 const 数据正确地更新了新数组并删除了项目,但状态保持不变。 请帮忙,谢谢
【问题讨论】:
标签: javascript reactjs setstate