Хотя вы можете использовать useRef для эмуляции useCallback или с пустой зависимостью, вы не можете использовать его для всех возможных сценариев использования useCallback, который должен запоминать, когда изменяется любая из зависимостей.
Кроме того, это не будет иметь большого значения для производительности, если вы используете useCallback with empty dependency
или useRef, поскольку он не должен выполнять какого-либо тяжелого сравнения.
Также, если вы измените реализацию функциинемного, чтобы вам пришлось воссоздать его при конкретном изменении параметра, вы можете просто обновить реализацию с помощью useCallback
и добавить дополнительный параметр в качестве зависимости. Однако, если вы реализуете его с помощью useRef, вам придется вернуться к useCallback