useHandler¶
Эта страница была перенесена из старой версии документации.
В процессе переписывания документации некоторые страницы могут быть немного устаревшими.
Это низкоуровневый хук, возвращающий объект контекста и значение, указывающее, следует ли перестраивать worklet, который может быть использован для создания пользовательских хуков-обработчиков событий типа useAnimatedGestureHandler
или useAnimatedScrollHandler
.
Аргументы¶
handlerOrHandlersObject
[object with worklets]¶
Объект, содержащий пользовательские ключи, соответствующие собственным именам событий. Значения в объекте должны быть отдельными заготовками. Каждый из них будет срабатывать при наступлении соответствующего события на подключенном анимированном компоненте.
При вызове каждый из заготовок событий будет получать следующие параметры:
-
event
[object] - объект события. Полезная нагрузка может отличаться в зависимости от типа события. -
context
[object] - обычный JS-объект, который может быть использован для хранения некоторого состояния. Этот объект будет сохраняться между событиями, и в него можно читать и записывать любые данные. При наличии нескольких обработчиков событий, представленных в виде объекта воркетов, объектcontext
будет общим для всех воркетов, что позволит им взаимодействовать друг с другом.
dependencies
[Array]¶
Необязательный массив значений, при изменении которых данный хук будет получать обновленные значения во время рендеринга оборачивающего компонента. Это важно, когда, например, worklet использует значения, зависящие от состояния компонента.
Здесь dependencies
могут быть:
undefined
(аргумент пропущен) - worklet будет перестроен, если произойдет изменение тела любого из callback'ов или значений из их закрытия (переменных из внешней области видимости, используемых в worklet'е),- пустой массив(
[]
) - заготовка будет перестроена только при изменении тела любого из callback'ов, - массив значений(
[val1, val2, ..., valN]
) - заготовка будет перестроена при изменении любого из тел обратных вызовов или любых значений из данного массива.
Возвращает¶
Хук возвращает контекст, который будет повторно использован обработчиками событий, и значение, указывающее, нужно ли перестраивать worklet. Если для web требуется другая реализация, то возвращается булево значение useWeb
для проверки наличия web-окружения.
Пример¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|