Встречается на собеседованиях • сегодня
Как убрать перерисовки элементов в React при вызове функции родительского компонента
Используйте `React.memo` для дочерних компонентов, чтобы предотвратить лишние ререндеры при неизменных пропсах. Для функций в пропсах — оборачивайте их в `useCallback`, чтобы сохранять ссылочную идентичность между рендерами.
```jsx
const Child = React.memo(({ onClick }) => {
console.log('Child render');
return ;
});
function Parent() {
const [count, setCount] = useState(0);
const handleClick = useCallback(() => {
setCount(c => c + 1);
}, []);
return (
<>
Count: {count}
</>
);
}
```
Ключевые моменты:
1. `React.memo` — мемоизация компонента
2. `useCallback` — мемоизация функции
3. Примитивные пропсы сравниваются по значению, объекты/функции — по ссылке
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы