Встречается на собеседованиях • сегодня
Погружается ли PureComponent в глубину при сравнении
Нет, PureComponent выполняет поверхностное (shallow) сравнение пропсов и состояния. Если пропсы или состояние содержат вложенные объекты/массивы, изменения внутри них не будут обнаружены, что может привести к неожиданному поведению.
Пример:
```jsx
class MyComponent extends React.PureComponent {
render() {
return
user.name = 'Max'; // Не вызовет ререндер
```
Для глубокого сравнения нужно либо:
1. Использовать shouldComponentUpdate с глубоким сравнением
2. Создавать новые объекты/массивы при изменениях
3. Использовать библиотеки типа lodash.isEqual
{this.props.user.name}
;
}
}
// При изменении user.name компонент не обновится
const user = { name: 'Alex' };

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы