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
- Theme support based on system appearance
- Expo Development Build with Continuous Native Generation
-
Create a new project using this template:
npx create-expo-app@latest --template react-navigation/template
-
Edit the
app.jsonfile to configure thename,slug,schemeand bundle identifiers (ios.bundleIdentifierandandroid.bundleIdentifier) for your app. -
Edit the
src/App.tsxfile 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
ito open the iOS simulator,ato open the Android device or emulator, orwto 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.
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