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

Что нужно useCallback для избежания лишних рендеров

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

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

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

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