В этой главе мы расскажем о компоненте Switch за пару шагов.
Шаг 1: Создать файл
Мы будем использовать компонент HomeContainer для логики, но нам нужно создать презентационный компонент.
Теперь давайте создадим новый файл: SwitchExample.js .
Шаг 2: Логика
Мы передаем значение из состояния и функции для переключения элементов переключателя на компонент SwitchExample . Функции переключения будут использоваться для обновления состояния.
App.js
import React, { Component } from 'react' import { View } from 'react-native' import SwitchExample from './switch_example.js' export default class HomeContainer extends Component { constructor() { super(); this.state = { switch1Value: false, } } toggleSwitch1 = (value) => { this.setState({switch1Value: value}) console.log('Switch 1 is: ' + value) } render() { return ( <View> <SwitchExample toggleSwitch1 = {this.toggleSwitch1} switch1Value = {this.state.switch1Value}/> </View> ); } }
Шаг 3: Презентация
Переключатель компонента занимает два реквизита. Пропуск onValueChange запустит наши функции переключения после того, как пользователь нажмет на переключатель. Значение prop связано с состоянием компонента HomeContainer .
switch_example.js
import React, { Component } from 'react' import { View, Switch, StyleSheet } from 'react-native' export default SwitchExample = (props) => { return ( <View style = {styles.container}> <Switch onValueChange = {props.toggleSwitch1} value = {props.switch1Value}/> </View> ) } const styles = StyleSheet.create ({ container: { flex: 1, alignItems: 'center', marginTop: 100 } })
Если мы нажмем на переключатель, состояние будет обновлено. Вы можете проверить значения в консоли.