TouchableWithoutFeedback
Если вам нужен более расширенный и устойчивый способ обработки ввода с помощью касания, ознакомьтесь с API Pressable.
Не используйте, если у вас нет веской причины. Все элементы, реагирующие на нажатие, должны иметь визуальную обратную связь при касании.
TouchableWithoutFeedback поддерживает только одного дочернего элемента. Если вы хотите иметь несколько дочерних компонентов, оберните их в View. Важно, что TouchableWithoutFeedback работает путём клонирования своего дочернего элемента и применения к нему свойств responder. Поэтому любые промежуточные компоненты должны передавать эти свойства в лежащий в основе компонент React Native.
Паттерн использования
function MyComponent(props) {
return (
<View {...props} style={{ flex: 1, backgroundColor: '#fff' }}>
<Text>My Component</Text>
</View>
);
}
<TouchableWithoutFeedback onPress={() => alert('Pressed!')}>
<MyComponent />
</TouchableWithoutFeedback>;
Справочник
Свойства
accessibilityIgnoresInvertColors
| Тип |
|---|
| Булево |
accessible
Когда true, указывает, что вид является элементом доступности. По умолчанию все нажимаемые элементы доступны.
| Тип |
|---|
| bool |
accessibilityLabel
Заменяет текст, считываемый экранным чтецом, когда пользователь взаимодействует с элементом. По умолчанию метка создаётся путём обхода всех дочерних элементов и накопления всех Text узлов, разделённых пробелами.
| Тип |
|---|
| строка |
accessibilityLanguage iOS
Значение, указывающее язык, который должен использовать экранный диктор при взаимодействии пользователя с элементом. Он должен соответствовать спецификации BCP 47.
Дополнительную информацию см. в документации iOS accessibilityLanguage doc.
| Тип |
|---|
| строка |
accessibilityHint
Подсказка доступности помогает пользователям понять, что произойдёт при выполнении действия с элементом доступности, когда этот результат не очевиден из метки доступности.
| Тип |
|---|
| строка |
accessibilityRole
accessibilityRole сообщает пользователю с помощью вспомогательной технологии о назначении компонента.
accessibilityRole может быть одним из следующих:
-
'none'- Используется, когда у элемента нет роли. -
'button'- Используется, когда элемент должен обрабатываться как кнопка. -
'link'- Используется, когда элемент должен обрабатываться как ссылка. -
'search'- Используется, когда элемент текстового поля также должен обрабатываться как поле поиска. -
'image'- Используется, когда элемент должен обрабатываться как изображение. Может комбинироваться с кнопкой или ссылкой, например. -
'keyboardkey'- Используется, когда элемент действует как клавиша клавиатуры. -
'text'- Используется, когда элемент обрабатывается как статический текст, который не может меняться. -
'adjustable'- Используется, когда элемент может быть «отрегулирован» (например, ползунок). -
'imagebutton'- Используется, когда элемент обрабатывается как кнопка и также является изображением. -
'header'- Используется, когда элемент действует как заголовок раздела контента (например, заголовок строки навигации). -
'summary'- Используется, когда элемент может предоставить краткий обзор текущего состояния приложения при первом запуске приложения. -
'alert'- Используется, когда элемент содержит важный текст, который должен быть представлен пользователю. -
'checkbox'- Используется, когда элемент представляет собой флажок, который можно установить, сбросить или иметь смешанное состояние. -
'combobox'- Используется, когда элемент представляет собой раскрывающийся список, позволяющий пользователю выбирать среди нескольких вариантов. -
'menu'- Используется, когда компонент представляет собой меню вариантов. -
'menubar'- Используется, когда компонент является контейнером для нескольких меню. -
'menuitem'- Используется для представления элемента в меню. -
'progressbar'- Используется для представления компонента, который указывает ход выполнения задачи. -
'radio'- Используется для представления радиокнопки. -
'radiogroup'- Используется для представления группы радиокнопок. -
'scrollbar'- Используется для представления полосы прокрутки. -
'spinbutton'- Используется для представления кнопки, которая открывает список вариантов. -
'switch'- Используется для представления переключателя, который можно включить и выключить. -
'tab'- Используется для представления вкладки. -
'tablist'- Используется для представления списка вкладок. -
'timer'- Используется для представления таймера. -
'toolbar'- Используется для представления инструментальной панели (контейнера с кнопками или компонентами действий).
| Тип |
|---|
| строка |
accessibilityState
Описывает текущее состояние компонента для пользователя с помощью вспомогательной технологии.
Для получения дополнительной информации см. Руководство по доступности.
| Тип |
|---|
| объект: {disabled: bool, selected: bool, checked: bool или 'mixed', busy: bool, expanded: bool} |
accessibilityActions
Действия доступности позволяют вспомогательной технологии программно вызывать действия компонента. Свойство accessibilityActions должно содержать список объектов действий. Каждый объект действия должен содержать имя поля и метку.
Для получения дополнительной информации см. Руководство по доступности.
| Тип |
|---|
| массив |
onAccessibilityAction
Вызывается, когда пользователь выполняет действия доступности. Единственным аргументом этой функции является событие, содержащее имя действия, которое нужно выполнить.
Для получения дополнительной информации см. Руководство по доступности.
| Тип |
|---|
| функция |
accessibilityValue
Представляет текущее значение компонента. Это может быть текстовое описание значения компонента или, для компонентов с диапазоном, таких как ползунки и полосы прогресса, он содержит информацию о диапазоне (минимум, текущее и максимум).
Для получения дополнительной информации см. Руководство по доступности.
| Тип |
|---|
| объект: {min: число, max: число, now: число, text: строка} |
delayLongPress
Продолжительность (в миллисекундах) с момента onPressIn до вызова onLongPress.
| Тип |
|---|
| число |
delayPressIn
Продолжительность (в миллисекундах) с момента начала касания до вызова onPressIn.
| Тип |
|---|
| число |
delayPressOut
Продолжительность (в миллисекундах) с момента отпуска касания до вызова onPressOut.
| Тип |
|---|
| число |
disabled
Если true, отключает все взаимодействия для этого компонента.
| Тип |
|---|
| bool |
hitSlop
Определяет, на каком расстоянии от кнопки может начаться касание. Это добавляется к pressRetentionOffset при перемещении вне кнопки.
Область касания никогда не выходит за пределы родительского элемента, а индекс Z элементов-братьев всегда имеет преимущество, если касание попадает на два перекрывающихся элемента.
| Тип |
|---|
| Прямоугольник или число |
onBlur
Вызывается, когда элемент теряет фокус.
| Тип |
|---|
| функция |
onFocus
Вызывается, когда элемент получает фокус.
| Тип |
|---|
| функция |
onLayout
Вызывается при монтировании и при изменениях макета.
| Тип |
|---|
| ({ nativeEvent: LayoutEvent }) => void |
onLongPress
Вызывается, если время после onPressIn длится дольше 370 миллисекунд. Этот интервал времени можно настроить с помощью delayLongPress.
| Тип |
|---|
| функция |
onPress
Вызывается, когда касание отпускается, но не если оно отменено (например, прокруткой, которая отбирает захват обработчика). Первый аргумент функции — событие в форме PressEvent.
| Тип |
|---|
| функция |
onPressIn
Вызывается, как только элемент доступен для нажатия, и вызывается даже до onPress. Это может быть полезно при выполнении сетевых запросов. Первый аргумент функции — событие в форме PressEvent.
| Тип |
|---|
| функция |
onPressOut
Вызывается, как только касание отпускается, даже до onPress. Первый аргумент функции — событие в форме PressEvent.
| Тип |
|---|
| функция |
pressRetentionOffset
Когда прокрутка отключена, это определяет, на какое расстояние ваше касание может сместиться от кнопки перед её деактивацией. После деактивации попробуйте вернуть его обратно, и вы увидите, что кнопка снова активируется! Перемещайте его вперёд и назад несколько раз, пока прокрутка отключена. Убедитесь, что вы передаёте константу, чтобы уменьшить выделение памяти.
| Тип |
|---|
| Прямоугольник или число |
nativeID
| Тип |
|---|
| строка |
testID
Используется для поиска этого вида в тестах взаимодействия.
| Тип |
|---|
| строка |
touchSoundDisabled Android
Если true, не воспроизводит системный звук при касании.
| Тип |
|---|
| Булево |
© 2022 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://reactnative.dev/docs/touchablewithoutfeedback