Reference version

Switch

A toggle control that switches between on and off states.

Android
iOS
Web
Included in Expo Go
Bundled version:
~56.0.2

For the complete documentation index, see llms.txt. Use this file to discover all available pages.

A controlled toggle. Pair value with onValueChange to manage state from React.

Installation

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

Usage

Basic switch

SwitchExample.tsx
import { useState } from 'react'; import { Host, Switch } from '@expo/ui'; export default function SwitchExample() { const [enabled, setEnabled] = useState(false); return ( <Host matchContents> <Switch value={enabled} onValueChange={setEnabled} /> </Host> ); }

With label

When label is provided, the switch is rendered alongside its text in a labeled row.

LabeledSwitchExample.tsx
import { useState } from 'react'; import { Host, Switch } from '@expo/ui'; export default function LabeledSwitchExample() { const [notifications, setNotifications] = useState(true); return ( <Host style={{ flex: 1 }}> <Switch label="Enable notifications" value={notifications} onValueChange={setNotifications} /> </Host> ); }

API

import { Switch } from '@expo/ui';

Component

Switch

Android
iOS
Web

Type: React.Element<SwitchProps>

A toggle control that switches between on and off states.

Props for the Switch component, a toggle control.

SwitchProps

disabled

Android
iOS
Web
Optional • Type: boolean

Whether the switch is disabled. Disabled switches do not respond to user interaction.

label

Android
iOS
Web
Optional • Type: string

Text label displayed alongside the switch.

modifiers

Android
iOS
Web
Optional • Type: ModifierConfig[]

Platform-specific modifier escape hatch. Pass an array of modifier configs from @expo/ui/swift-ui/modifiers or @expo/ui/jetpack-compose/modifiers.

onValueChange

Android
iOS
Web
Type: (value: boolean) => void

Called when the user toggles the switch.

testID

Android
iOS
Web
Optional • Type: string

Identifier used to locate the component in end-to-end tests.

value

Android
iOS
Web
Type: boolean

Whether the switch is on.