所以这是我的状态:
this.state = {
ids: ['A', 'E', 'C']
};
Run Code Online (Sandbox Code Playgroud)
我将如何修改状态,使索引1处的"E"变为"B"?例如:
this.setState({
ids[1]: 'B'
});
Run Code Online (Sandbox Code Playgroud)
怎么做?
所以我一直在研究这个问题,并认为最好重构我的代码,以便将状态设置为一个对象数组.我想要做的是按一下按钮增加一个数字.
我在一个组件中有一个回调函数,它触发一个函数来更新状态......但是我很难在对象中定位键值.
我的初始状态如下:
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
},
]
}
Run Code Online (Sandbox Code Playgroud)
我试图锁定upVotes密钥,但无法弄清楚如何.我的函数传递一个键,以便我可以在数组中定位索引,但是当我尝试执行以下操作时:this.setState({items[key]: {upVotes: this.state.items[key].upVotes + 1}})由于意外的[令牌,它会引发错误.
我在这里尝试了类似于这个线程的东西,但我一直在收到错误.
我可以编写什么样的函数来设置我想要定位的对象中的键的State?