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

Dynamically setting state object by passing it as variable name : React

我有这样的场景,我需要发送状态对象变量列表,然后使用传递的变量在 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
}

你可以这样做:

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

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

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

为您解决了所有问题。

为您快速演示。

var val = "Praveen";

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