This is a new React Native project, bootstrapped using @react-native-community/cli.
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
First of all, you will need to install package dependencies.
Choose Node version>= 18.x.x
# using npm
npm install
# OR using Yarn
yarn install
# OR using Bun (Faster)
bun installcd ios
pod install
cd ..Second, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using npm
npm start
# OR using Yarn
yarn start
# OR using Bun (Faster)
bun startLet Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
# using npm
npm run android
# OR using Yarn
yarn android
#OR using Bun
bun android# using npm
npm run ios
# OR using Yarn
yarn ios
#Or using Bun
bun iosIf everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
Now that you have successfully run the app, let's modify it.
-
Open
App.tsxin your text editor of choice and edit some lines. -
For Android: Press the R key twice or select "Reload" from the Developer Menu (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!
For iOS: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!
You've successfully run and modified your React Native App. 🥳
MyApp/ ├── app/ # Expo Router pages │ ├── (tabs)/ # Tab navigation group │ │ ├── _layout.tsx # Tab layout │ │ ├── index.tsx # Home tab │ │ └── profile.tsx # Profile tab │ ├── _layout.tsx # Root layout │ └── +not-found.tsx # 404 page ├── src/ │ ├── components/ # Reusable UI components │ │ ├── ui/ # Basic UI elements │ │ └── features/ # Feature-specific components │ ├── services/ # API calls and external services │ ├── utils/ # Helper functions │ ├── hooks/ # Custom React hooks │ ├── context/ # React Context providers │ ├── types/ # TypeScript type definitions │ └── theme/ # Design system (colors, fonts) ├── assets/ # Images, fonts, sounds │ ├── images/ │ ├── icons/ │ └── fonts/ ├── constants/ # App-wide constants └── .env
Components → PascalCase → TaskCard.tsx Hooks → camelCase + use → useTasks.ts Utils → camelCase → formatDate.ts Services → camelCase + Service → taskService.ts Types → PascalCase → Task.ts
Components → PascalCase → TaskCard Screens → PascalCase → HomeScreen Remaining → camelCase