React native non-expo project (TypeScript) created using npx @react-native-community/cli@latest init AwesomeProject
with following modifications
- Moved source files to ./src folder
- Updated jest config for testing react native (and navigation)
- Added react-navigation - Configured a simple StackNavigator using two screens
- Type configuration for both navigator and screens
- Sample test case for testing navigation
@typescript-eslint/no-unused-vars: "warn"- personal preference
Note: If you are using vscode, open editor settings and set typescript.preferences.importModuleSpecifier to relative for forcing relative paths when auto importing modules.
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
First, 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 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# using npm
npm run ios
# OR using Yarn
yarn 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.
# using npm
npm test