# Slide to Confirm — Swipe-to-Pay Button for React Native & Expo

> A slide-to-confirm button for React Native: drag to pay, transfer or unlock, with a spinner while your action runs, a done state and a retryable error. Reanimated 4, Gesture Handler, haptics, light and dark, works with touch and mouse.

- Kind: Mobile component (Buttons)
- Price: Free
- License: MIT License. Do anything with it, keeping the copyright notice.
- Developer: UpFork
- Tags: button, form, react-native, expo, reanimated, gesture-handler, slider, swipe-to-confirm
- npm packages: expo-haptics, react-native-gesture-handler, react-native-reanimated, react-native-svg, react-native-worklets
- Published: 2026-10-14
- Updated: 2026-10-14
- Page: https://upfork.dev/products/slide-to-confirm-react-native

## How to get it

It's a React Native component for Expo apps (Expo SDK 57), not a shadcn item: copy its folders into the app's root from its ZIP (Download source on its page) or through UpFork's MCP server (install_product), then install its packages with Expo:

```bash
npx expo install expo-haptics react-native-gesture-handler react-native-reanimated react-native-svg react-native-worklets
```

It's free and in no plan: an AI assistant installs it through MCP with no account, and its ZIP downloads with a free UpFork account.

Step by step, with the App.tsx that shows it and Skia's web setup: https://upfork.dev/docs/mobile.

## About

Some actions shouldn't happen on a stray tap: paying, sending money, unlocking, deleting an account. Slide to Confirm asks for a deliberate swipe, then keeps the person informed: a spinner while your code runs, a calm "Paid" when it's done, and a clear error they can retry when it isn't.

- **Async built in.** Return a promise from `onConfirm`: the thumb waits at the end with a spinner, then shows your done label, or springs back with your error label.
- **Feels physical.** 1:1 drag, a spring back if you let go early, a fling that finishes the slide, a haptic tick at the point of no return and a success or error buzz.
- **Touch and mouse.** Built on Gesture Handler, so it works with a finger on phones and with the mouse on the web; a tap nudges the thumb to show it slides.
- **Accessible.** Screen readers get a button with an activate action, and reduced motion stills the chevrons.
- **Yours to style.** Any tint, light and dark themes, any height.
