мы сделали поверхностное копирование. Тогда при изменении данных в первом списке второй тоже будет меняться. Или если у нас в сторе сложный объект, мы прямо из стейта его взяли и поменяли без копирования. Соответственно, в стейте этот объект тоже изменился. В таком случае нам setState не нужен, не чувствуешь подвох?)
Ну setState то так или иначе будет нужен чтобы отрендерить изменения в компоненте, но суть я понял. Хотя постоянно копировать элемент state чтобы внести в него изменения, выглядит как-то костыльно)
.concat() создаёт поверхностную копию и тем самым Стейт изменяется ещё до вызова setState, так что смысла в нем никакого нет. Я не нашел другого выхода, как написать: onChangeName(name, index) { const users = JSON.parse(JSON.stringify(this.state.users)) users[index].name = name this.setState({users}) } И что, все таким же образом меняют state?))
Обсуждают сегодня