React Native - 开关


在本章中,我们将通过几个步骤解释Switch组件。

第 1 步:创建文件

我们将使用HomeContainer组件来实现逻辑,但我们需要创建展示组件。

现在让我们创建一个新文件:SwitchExample.js

第二步:逻辑

我们将用于切换开关项目的状态和函数的值传递给SwitchExample组件。切换函数将用于更新状态。

应用程序.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>
      );
   }
}

第三步:演示

Switch 组件需要两个 props。onValueChange属性在用户按下开关后触发我们的切换功能。value 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
   }
})

如果我们按下开关,状态就会更新。您可以在控制台中检查值。

输出

反应本机开关