Installation
What your app needs, then the steps for Expo or plain React Native.
Requirements
- React Native 0.81+ on the New Architecture — Expo SDK 54+ qualifies. Built and tested on SDK 57 with React Native 0.86.
- Node 20.19+.
- Uniwind 1.11+ with Tailwind CSS v4, wired into Metro. Every
classNamein the library is compiled by Uniwind in your app's Metro pipeline — without it nothing is styled. NativeWind cannot share the app; migrate first. - A development build, not Expo Go. Reanimated, Gesture Handler and the keyboard controller are native modules.
- Expo modules. An Expo app has them; a plain React Native app adds them with one command.
- Let
expo installpick native module versions.bun add react-native-reanimatedfetches the newest release, which fails at the linker on an older SDK rather than at install time.
Pick your app
Expo
Expo Router or a plain Expo app. Five steps.
React Native
A React Native CLI app. Adds Expo modules first.
Optional peers
Resolved only if you import the subpath that needs them:
| Package | Needed by |
|---|---|
@delacour/react-native-bottom-sheet | BottomSheet — the engine it skins |
@legendapp/list | Screen.LegendList, Screen.ChatList, BottomSheet.LegendList |
expo-router | @delacour/react-native-ui/expo/navigation-theme |
react-native-screens | native stack navigation |
react-native-teleport | BottomSheet — the engine's portal. A native module: expo install it and rebuild the dev client |
Or let the CLI do it
One command in an Expo app wires Uniwind, the theme and the provider, and copies the component source into your project so you own it. See the Quick start.
bunx delacour@latest add button --install