@KononovD

Как динамически задавать state?

Имеется следующий код:
getval = ( propName, value ) => {
    const { formInfo } = this.state;

    this.setState( {
      formInfo[propName]: value
    } )
  }

Задумка следующая: в метод приходит название поля и его значение и я по этому названию задаю его значение, не хочу писать switch-case условия для каждого возможного варианта.

state выглядит так:
state = {
    formInfo: {
      name: '',
      tel: '',
      email: '',
      subject: '',
      text: ''
    }
  }


То, что так делать нельзя - я понял, но а как тогда воплотить задумку в жизнь?
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
setVal = (propName, value) => {
  this.setState(state => ({
    formInfo: {
      ...state.formInfo,
      [propName]: value,
    }
  }));
};

Так же переименовал getval в setVal. Так как глагол get используют в функциях возвращающих значение, а set в устанавливающих значение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы