Этот вопрос закрыт для ответов, так как повторяет вопрос Массивы объектов в state - как обновлять?
@vetsnakara

Как правильно обновить state компонента?

Пусть в state компонента у меня есть массив объектов users, куда я хочу добавить нового user-а. Мне не вполне понятно, почему нельзя изменять state напрямую? И зачем при выполнении setState() делать копию массива users, если в новый массив все равно копируются только ссылки на объекты, а не сами объекты? Только для того, чтобы в state появилась ссылка на новый массив и React задетектил изменение?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
О преимуществах и недостатках использования иммутабельного обновления данных написан не один десяток статей. Библиотека React использует эту концепцию для отслеживания изменений состояния и свойств компонентов.

И зачем при выполнении setState() делать копию массива users, если в новый массив все равно копируются только ссылки на объекты, а не сами объекты? Только для того, чтобы в state появилась ссылка на новый массив и React задетектил изменение?

Именно для этого.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
И зачем при выполнении setState() делать копию массива users,

Можете и не делать, если как-то еще дадите реакту знать что стейт поменялся и надо вызывать render.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы