freeCodeCamp/guide/russian/react-native/touchables/index.md

49 lines
2.8 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Touchables
localeTitle: Нажатия
2018-10-12 20:00:59 +00:00
---
## React-native - Нажатия
2018-10-12 20:00:59 +00:00
Некоторые из основных функций мобильных устройств вращаются вокруг пользовательских взаимодействий. Как мобильное приложение обрабатывает и реагирует на эти взаимодействия, может сделать или нарушить работу пользователя.
React Native поставляется с `Button` компонентом, который работает для многих стандартных `onPress` взаимодействий. По умолчанию он даст пользователю обратную связь, изменив непрозрачность, чтобы показать кнопку нажата. Применение:
2018-10-12 20:00:59 +00:00
```js
<Button onPress={handlePress} title="Submit" />
```
Для более сложных вариантов использования React Native использует API для обработки взаимодействий с нажатием под названием `Touchables` .
2018-10-12 20:00:59 +00:00
```
TouchableHighlight
TouchableNativeFeedback
TouchableOpacity
TouchableWithoutFeedback
```
Каждый из этих Touchable компонентов можно стилизовать и использовать с библиотекой, например, с помощью встроенной `Animated`, позволяющей создавать собственные типы пользовательской обратной связи.
2018-10-12 20:00:59 +00:00
Некоторые примеры использования этих компонентов:
```js
// with images
<TouchableHighlight onPress={this.handlePress}>
<Image
style={styles.button}
source={require('./logo.png')}
/>
</TouchableHighlight>
// with text
<TouchableHighlight onPress={this.handlePress}>
<Text>Hello</Text>
</TouchableHighlight>
```
Вы также можете обрабатывать различные типы кнопок. По умолчанию кнопки и сенсорные элементы настроены для обработки обычных нажатий, но вы также можете обозначить функцию вызова для взаимодействия, например, нажатия и удержания.
2018-10-12 20:00:59 +00:00
```js
<TouchableHighlight onPress={this.handlePress} onLongPress={this.handleLongPress}>
```
Чтобы увидеть все доступные реквизиты и как эти компоненты работают, вы можете посмотреть [исходный код JavaScript для Touchables](https://github.com/facebook/react-native/tree/master/Libraries/Components/Touchable) .