Разница между Pressable и TouchableOpacity - PullRequest
4 голосов
/ 09 июля 2020

С обновлением react native до версии 0.63 появились новые компоненты. Может ли кто-нибудь более опытный объяснить, чем Pressable отличается от TouchableOpacity и когда их лучше использовать.

Ответы [ 2 ]

3 голосов
/ 09 июля 2020

Pressable был новым введением в RN 0.63, до этого Touchable Opacity был наиболее часто используемым компонентом для обертывания компонента или аналогичных компонентов.

Обе их основные c функции одинаковы, текст / изображение интерактивно и интерактивно.

Но с Pressable вы получаете доступ к множеству новых реквизитов, таких как:

HitRect, что является такой классной функцией, cc в документы:

Пальцы - не самые точные инструменты, и пользователи часто случайно активируют не тот элемент или пропускают область активации. Чтобы помочь, Pressable имеет необязательный HitRect, который вы можете использовать для определения расстояния, на котором прикосновение может регистрироваться от обернутого элемента. Прессы могут начинаться в любом месте в пределах HitRect.

Это явно лучшая альтернатива тому, что мы использовали для hitslop, здесь он более точный, и вы определяете область. И это не мешает Z-index дочерних / других компонентов тоже.

Таким образом, в основном вы получаете все функции кнопки, touchableOpacity с новыми классными реквизитами. Ознакомьтесь с их документами: rn-pressable

Надежда помогает. Не стесняйтесь сомневаться

0 голосов
/ 09 июля 2020

Pressable Here is a picture to clear your doubt.

How it works On an element wrapped by

Pressable

:

onPressIn is called when a press is activated. onPressOut is called when the press gesture is deactivated.

After pressing onPressIn, one of two things will happen:

  1. The person will remove their finger, triggering onPressOut followed by onPress.
  2. If the person leaves their finger longer than 370 milliseconds before removing it, onLongPress is triggered. (onPressOut will still fire when they remove their finger.)

Please refer to документация для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...