如何使用变量为对象属性分配值?

时间:2018-10-16 11:01:51

标签: javascript reactjs object

我正在使用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'

谢谢您的任何想法!

1 个答案:

答案 0 :(得分:3)

您可以使用带有动态键语法(如

)的对象分配来设置值
myFunc = (i) => {
     this.setState({
          [i]:  'ft-post ft-post-show'
     })  
}