Installation
Nativewind works with both Expo and framework-less React Native projects but Expo provides a more streamlined experience.
Web: If you'd like to use Metro to bundle for a website or App Clip and you are not using Expo, you will need either Expo's Metro config @expo/metro-config
or to manually use Tailwind CLI to generate a CSS file.
Expo | Framework-less | Next.js
Before installing Nativewind, you will need to initialize your project with the React Native Community CLI.
Installation with Framework-less React Native
1. Install Nativewind
You will need to install nativewind
and its peer dependencies tailwindcss
, react-native-reanimated
and react-native-safe-area-context
.
Run pod-install
to finish installation of react-native-reanimated
2. Setup Tailwind CSS
Run npx tailwindcss init
to create a tailwind.config.js
file
Add the paths to all of your component files in your tailwind.config.js file.
Create a CSS file and add the Tailwind directives
:::info
From here onwards, replace ./global.css
with the relative path to the CSS file you just created
:::
3. Add the Babel preset
4. Modify your metro.config.js
5. Import your CSS file
6. TypeScript
By default, the React Native Community CLI includes TypeScript support. Subsequently, you will need to follow the TypeScript guide to finish setting up Nativewind in your project.
Additional Setup Guides
- Using with Monorepos - Learn how to set up Nativewind in monorepo environments like NX
- Other Bundlers - Learn how to use Nativewind with other bundlers