ReactJS setState переменные ключей многомерного массива в подмассиве - PullRequest
0 голосов
/ 01 марта 2019

У меня есть массив компонентов, в каждом из которых есть детали компонента, и я пытаюсь обновить детали для компонента.

Я знаю, что могу сделать это

this.setState({
    component: {
       ...this.state.component,
       [var]: value
    }
});

, но мне нужно быть в состоянии сделать это

this.setState({
    component[key]: {
       ...this.state.component[key],
       [key2]: value
    }
});

, что не удается.Как я могу изменить вложенный массив без изменения состояния и замены всего этого?

1 Ответ

0 голосов
/ 01 марта 2019

Вам также необходимо обновить вложенные данные в состоянии компонента.

this.setState({
    component: {
       ...this.state.component,
       [key]: {
          ...this.state.component[key],
          [key2]: value
       }
    }
});

Однако, когда вы обновляете состояние на основе предыдущего состояния, предпочтительно использовать метод обратного вызова для обновления состояния

* 1005.*
...