Динамически устанавливая объект состояния, передавая его как имя переменной: React - PullRequest
1 голос
/ 28 мая 2019

У меня есть такой сценарий, когда мне нужно отправить список переменных объекта состояния, а затем динамически установить их внутри функции 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 Ответ

2 голосов
/ 28 мая 2019

Вы можете сделать это следующим образом:

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

Плюс у вас были такие проблемы, как:

  • Там нет => после (val).
  • Закрывающие скобки не верны.
  • Вам не хватает const.

Исправлено все для вас.

Быстрое демо для вас.

var val = "Praveen";

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