我正在使用Reacr应用程序。我有一个像这样的对象:
state = {
property1: 'value',
property2: 'value',
property3: 'value',
property4: 'value',
}
我想通过一个函数为此对象属性分配一个值:
myFunc = (i) => {
this.setState({
this.state[i] = 'newValue'
})
}
但是不能这样做,因为这样我将直接改变状态对象。所以我有一个问题,如何获取对象属性名称,然后为其分配值?如果可以在JavaScript中执行以下操作,那就很好了:
this.state[i] : 'ft-post ft-post-show'
谢谢您的任何想法!
答案 0 :(得分:3)
您可以使用带有动态键语法(如
)的对象分配来设置值myFunc = (i) => {
this.setState({
[i]: 'ft-post ft-post-show'
})
}