所以我已经研究了一段时间,觉得最好重构我的代码,以便将状态设置为一个对象数组。我想要做的是在单击按钮时增加一个数字。
我在一个组件中有一个回调函数,它触发一个函数来更新状态......但是我很难定位对象内的键值。
我的初始状态如下所示:
getInitialState: function() {
return {
items: [
{
links: 'zest',
trackId: 1023,
songTitle: 'z know the others',
artist: 'zuvet',
upVotes: 0
},
{
links: 'alpha',
trackId: 987,
songTitle: 'ass',
artist: 'arme',
upVotes: 3
},
]
}
我正在尝试瞄准upVotes
关键,但无法弄清楚如何。我的函数传递了一个键,以便我可以定位数组中的索引,但是当我尝试执行以下操作时:this.setState({items[key]: {upVotes: this.state.items[key].upVotes + 1}})
由于意外的[
标记,它会引发错误。
我在这里尝试了类似于这个线程的东西,但我不断收到错误。
我可以编写什么样的函数来设置我想要定位的对象中的键的状态?