Javacsript - доступ к значению вложенного объекта с помощью 2 переменных ключей (для ReactJS setState ()) - PullRequest
0 голосов
/ 11 июня 2018

Мне кажется, это очень простая проблема, но я не могу решить ее.

Я пытаюсь установить setState для компонента ReactJS при доступе к объекту состояния гнезда с помощью 2 строковых ключей, но яне могу заставить это работать.

Состояние: -

state = {
    first_name: {
      value: '',
    },
}

Эти попытки не удаются: -

this.setState({ [[e.target.name]['value']]: e.target.value})
this.setState({ [e.target.name['value']]: e.target.value})

e.target.name оценивается как 'first_name'так что это не проблема ... Я также попытался: -

this.setState({ [['first_name']['value']]: e.target.value})
this.setState({ ['first_name'['value']]: e.target.value})

Все, что происходит, - это получение новой записи в объекте состояния "undefined".Кто-нибудь может дать совет здесь?Спасибо.

Отредактировано:

Представляется дубликатом: -

Как мне установитьState для вложенного массива?

1 Ответ

0 голосов
/ 11 июня 2018

Решение найдено (с использованием оператора распространения) ...

this.setState({
    [e.target.name]: {
      ...this.state[e.target.name],
      value: e.target.value
    },
  }
)
...