Как сказано в документации, useCallback Возвращает запомненный обратный вызов.
Передайте встроенный обратный вызов и массив входных данных. useCallback вернет запомненную версию обратного вызова, которая изменяется только в случае изменения одного из входных данных. Это полезно при передаче обратных вызовов оптимизированным дочерним компонентам, которые полагаются на равенство ссылок для предотвращения ненужных визуализаций (например, shouldComponentUpdate).
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
Но как это работает и где лучше всего использовать его в React?
PS Думаю, визуализация на примере codepen поможет каждому лучше понять это.