/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format * @flow */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var {Platform, Switch, Text, View} = ReactNative; class BasicSwitchExample extends React.Component<{}, $FlowFixMeState> { state = { trueSwitchIsOn: true, falseSwitchIsOn: false, }; render() { return ( this.setState({falseSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.falseSwitchIsOn} /> this.setState({trueSwitchIsOn: value})} value={this.state.trueSwitchIsOn} /> ); } } class DisabledSwitchExample extends React.Component<{}> { render() { return ( ); } } class ColorSwitchExample extends React.Component<{}, $FlowFixMeState> { state = { colorTrueSwitchIsOn: true, colorFalseSwitchIsOn: false, }; render() { return ( this.setState({colorFalseSwitchIsOn: value})} style={{marginBottom: 10}} thumbColor="#0000ff" trackColor={{ false: '#ff0000', true: '#00ff00', }} value={this.state.colorFalseSwitchIsOn} /> this.setState({colorTrueSwitchIsOn: value})} thumbColor="#0000ff" trackColor={{ false: '#ff0000', true: '#00ff00', }} value={this.state.colorTrueSwitchIsOn} /> ); } } class EventSwitchExample extends React.Component<{}, $FlowFixMeState> { state = { eventSwitchIsOn: false, eventSwitchRegressionIsOn: true, }; render() { return ( this.setState({eventSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchIsOn} /> this.setState({eventSwitchIsOn: value})} style={{marginBottom: 10}} value={this.state.eventSwitchIsOn} /> {this.state.eventSwitchIsOn ? 'On' : 'Off'} this.setState({eventSwitchRegressionIsOn: value}) } style={{marginBottom: 10}} value={this.state.eventSwitchRegressionIsOn} /> this.setState({eventSwitchRegressionIsOn: value}) } style={{marginBottom: 10}} value={this.state.eventSwitchRegressionIsOn} /> {this.state.eventSwitchRegressionIsOn ? 'On' : 'Off'} ); } } var examples = [ { title: 'Switches can be set to true or false', render(): React.Element { return ; }, }, { title: 'Switches can be disabled', render(): React.Element { return ; }, }, { title: 'Change events can be detected', render(): React.Element { return ; }, }, { title: 'Switches are controlled components', render(): React.Element { return ; }, }, { title: 'Custom colors can be provided', render(): React.Element { return ; }, }, ]; exports.title = ''; exports.displayName = 'SwitchExample'; exports.description = 'Native boolean input'; exports.examples = examples;