通过将状态对象作为变量名传递来动态设置状态对象:React

时间:2019-05-28 15:40:13

标签: reactjs setstate

在这种情况下,我需要发送状态对象变量的列表,然后使用传递的变量在setState函数中动态设置它们。试图实现相同。 我正在维护一个setState函数,将向它们传递状态变量,然后对其进行相应的设置。

我在哪里出错了?

我们将不胜感激。

相关代码段已发布

constructor()
{
  super(props);
  this.state ={
      val1 : '',
      val2: '',
      val3: '',
  }
}

fetchValues = (stateVariable) =>{  // here the stateVariable ie val1,val2,val3 will be passed . 

  //fetching a value that will be set to the state object variables   
   this.set(stateVariable,value)
}

set = (val) => {
 this.setState(`${val}`: val
}

1 个答案:

答案 0 :(得分:2)

您可以这样操作:

const set = val => {
  this.setState({ [val]: val });
};

此外,您还遇到以下问题:

  • =>之后没有(val)
  • 右括号不正确。
  • 您缺少const

为您解决了所有问题。

为您快速演示。

var val = "Praveen";

console.log({ [val]: val });