This is a minimal starter template for React Native apps using Expo and React Navigation.
It includes the following:
- Example Native Stack with a nested Bottom Tab
- Web support with React Native for Web
- TypeScript support and configured for React Navigation
- Automatic deep link and URL handling configuration
- Expo Development Build with Continuous Native Generation
- Edge-to-edge configured on Android with
react-native-edge-to-edge
-
Create a new project using this template:
npx create-expo-app@latest --template react-navigation/template
-
Edit the
app.json
file to configure thename
,slug
,scheme
and bundle identifiers (ios.bundleIdentifier
andandroid.bundleIdentifier
) for your app. -
Edit the
src/App.tsx
file to start working on your app.
-
Install the dependencies:
npm install
-
Start the development server:
npm start
-
Build and run iOS and Android development builds:
npm run ios # or npm run android
-
In the terminal running the development server, press
i
to open the iOS simulator,a
to open the Android device or emulator, orw
to open the web browser.
This project uses a development build and cannot be run with Expo Go. To run the app with Expo Go, edit the package.json
file, remove the expo-dev-client
package and --dev-client
flag from the start
script. However, Edge-to-edge won't work on Expo Go.
We highly recommend using the development builds for normal development and testing.
The ios
and android
folder are gitignored in the project by default as they are automatically generated during the build process (Continuous Native Generation). This means that you should not edit these folders directly and use config plugins instead. However, if you need to edit these folders, you can remove them from the .gitignore
file so that they are tracked by git.
Demo assets are from lucide.dev