Конкретно в твоем примере - useCallback не нужен. Перечитай это в документации.
Ты на каждый рендер вызываешь функцию `useCallback`и передаешь в неё свой хендлер. Когда ты так делаешь, жс вынужден создать функцию прежде чем передать её в useCallback
Мемоизация работает тут так, что если у тебя депсы не изменились, useCallback игнорит новый аргумент и возвращает тебе старый хендлер