useCallback сохраняет ссылку на функцию между рендерами, пока зависимости не изменились; он не кэширует результат её выполнения.
Для чего нужен useCallback и что произойдёт без него при передаче функции дочернему компоненту?
useCallback сохраняет ссылку на функцию между рендерами, пока зависимости не изменились; он не кэширует результат её выполнения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
useCallback сохраняет ссылку на функцию между рендерами, пока зависимости не изменились; он не кэширует результат её выполнения.
Без него функция, объявленная внутри компонента, обычно создаётся заново и может нарушить сравнение props у memo-дочернего компонента. Но useCallback сам не запрещает дочерние рендеры и полезен не всегда. Неполные зависимости создают устаревшее замыкание.