Хук колбека (useCallback)
useCallback
- Возвращает мемоизированный колбэк.
Мемоизация (запоминание, от англ. memoization) — в программировании сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации, применяемый для увеличения скорости выполнения компьютерных программ. Перед вызовом функции проверяется, вызывалась ли функция ранее:
если не вызывалась, то функция вызывается, и результат её выполнения сохраняется;
если вызывалась, то используется сохранённый результат.
useCallback
принимает в качестве аргументов встроенный колбэк и массив зависимостей. Возвращает мемоизированную версию колбэка, который изменяется только, если изменяются значения одной из зависимостей:
Пример:
В этом примере useCallback
возвращает закешированную функцию (то есть ссылка не изменяется от рендера к рендеру). Помимо функции, которую нужно кешировать, в нее передан второй аргумент — пустой массив. Этот массив позволяет передать список полей, при изменении которых необходимо изменить функцию, т.е. вернуть новую ссылку.
Last updated
Was this helpful?