Выбор ответа Middle Анимации и жесты обновлено
Gesture Handler против PanResponder
Вопрос
Почему для перетаскивания используют react-native-gesture-handler с Reanimated, а не PanResponder?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Жест распознаётся нативно, а с Reanimated элемент двигается без участия JS. PanResponder обрабатывает касания в JS: каждое движение пальца проходит через JS-поток, и при нагрузке перетаскивание отстаёт.
Варианты ответа
PanResponderне работает на Android, поэтому для кроссплатформенности нужен Gesture HandlerPanResponderудалён из актуальных версий React Native- Жест распознаётся нативно, а с Reanimated элемент двигается без участия JSправильный ответ
- Gesture Handler встроен в React Native и не требует установки и настройки
Разбор
PanResponder обрабатывает касания в JS: каждое движение пальца проходит через JS-поток, и при нагрузке перетаскивание отстаёт. Gesture Handler распознаёт жесты на нативной стороне и умеет их комбинировать, а Reanimated позволяет менять позицию в worklet. PanResponder существует и работает на обеих платформах, а Gesture Handler это сторонняя библиотека, её нужно установить и обернуть корень в GestureHandlerRootView.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.