Встречается на собеседованиях • сегодня

Вызовется ли рендер при изменении свойства объекта записанного в useState

При изменении свойства объекта, записанного в useState, рендер не произойдет автоматически. React сравнивает ссылки на объекты, а не их содержимое. Если обновить свойство существующего объекта, ссылка останется прежней, и React не увидит изменений.

Пример:

jsx
const [user, setUser] = useState({ name: 'Alex' });

// ❌ Не вызовет рендер
user.name = 'Max'; 
setUser(user); // Передаем ту же ссылку

// ✅ Вызовет рендер
setUser({ ...user, name: 'Max' }); // Создаем новый объект

Всегда создавайте новый объект/массив при обновлении состояния, чтобы React корректно отслеживал изменения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы