Reference version

This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 57).

Slider

A control for selecting a value from a continuous or stepped range.

Android
iOS
Web
Included in Expo Go

A controlled slider for selecting a numeric value within a range. 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

Continuous slider

The default range is [0, 1].

ContinuousSliderExample.tsx
import { useState } from 'react'; import { Host, Slider } from '@expo/ui'; export default function ContinuousSliderExample() { const [value, setValue] = useState(0.5); return ( <Host style={{ flex: 1 }}> <Slider value={value} onValueChange={setValue} /> </Host> ); }

Stepped slider with custom range

Use min, max, and step to constrain the values produced by the slider.

SteppedSliderExample.tsx
import { useState } from 'react'; import { Host, Column, Slider, Text } from '@expo/ui'; export default function SteppedSliderExample() { const [volume, setVolume] = useState(50); return ( <Host style={{ flex: 1 }}> <Column spacing={8}> <Text>Volume: {volume}</Text> <Slider value={volume} onValueChange={setVolume} min={0} max={100} step={10} /> </Column> </Host> ); }

API

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

Component

Slider

Android
iOS
Web

Type: React.Element<SliderProps>

A control for selecting a value from a continuous or stepped range.

Props for the Slider component.

SliderProps

disabled

Android
iOS
Web
Optional • Type: boolean

Whether the slider is disabled. Disabled sliders do not respond to user interaction.

max

Android
iOS
Web
Optional • Type: number • Default: 1

Maximum value of the slider range.

min

Android
iOS
Web
Optional • Type: number • Default: 0

Minimum value of the slider range.

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: number) => void

Called when the user changes the slider value.

step

Android
iOS
Web
Optional • Type: number

Increment size. For example, step={10} with min={0} and max={100} produces values 0, 10, 20, …, 100.

testID

Android
iOS
Web
Optional • Type: string

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

value

Android
iOS
Web
Type: number

Current value of the slider.