до вызова setState, так что смысла в нем никакого нет.
Я не нашел другого выхода, как написать:
onChangeName(name, index) {
const users = JSON.parse(JSON.stringify(this.state.users))
users[index].name = name
this.setState({users})
}
И что, все таким же образом меняют state?))
Какую копию делать - поверхностную, полную или вообще никакую - надо на тип данных смотреть, если массивы и объекты - то полную копию делаем. JSON.parse криво работает со сложными типами данных и порядок свойства не гарантирован. Для глубокого копирования юзают _.cloneDeep из lodash или сами пишут функцию
Пздц, индексы
Примерно да, но через деструктуризацию users: { ...this.state.users, [index]: { ...this.state.users[index], name }, } Или используют всякие immerjs и immutablejs
Обсуждают сегодня