如何在 React 中替换对象数组的值
2018-03-06
730
我有这个函数,它返回一个对象数组,每个对象代表一个便签,我想要的是每次单击其中一个便签时更改“content”的值
handleStickyEdition = (index) => {
const { currentStage } = this.props
const stickies = currentStage.get('stickies')
const updatedStickies = [...stickies]
console.log(updatedStickies)
}
如果我执行
console.log(updatedStickies[index].get('content'))
,我将获得我想要更改的对象的内容。例如
name 3
。
如何用空字符串替换此
content
?换句话说,如果我单击位置 0 的对象,如何使
name 3
等于
''
1个回答
我建议使用像这样的地图。
this.setState({
updatedStickies: this.state.updatedStickes.map(sticky => ({
...sticky
content: sticky.id === idOfStickyWeWantToUpdate ? "" : "content"
}))
});
我看到你正在阅读来自 props 的粘贴,我建议在你的父组件中有一个函数来运行上述代码,你可以在需要时从你的子组件调用它。
Francis Malloch
2018-03-06