React Native cheat sheet
A scannable React Native reference: 6 short snippets across 5 topics, each linking back to the lesson it came from.
At a glance
| Topic | What it covers | |
|---|---|---|
| Setup and your first screen | React Native does not render HTML. Your JavaScript describes a tree of host components, and the runtime translates that | lesson |
| Navigation, native modules and Expo | The community standard is React Navigation. A native stack uses the platform's own navigation controller, so | lesson |
| Performance optimisation | Measure startup with a custom trace rather than by feel. Time from process start to the first interactive frame, and | lesson |
| Building and releasing with EAS and Fastlane | Publish updates in stages. A rollout to a small channel first, then to everyone, means a bad JavaScript change reaches | lesson |
| Expo Router, monorepos and the wider ecosystem | Metro needs to resolve symlinked workspace packages and, in the New Architecture, which native module is registered | lesson |
Quick snippets
Setup and your first screen
Creating a project
# Community CLI: full control over the native projects
npx @react-native-community/cli@latest init Notes --version latest
cd Notes
npx react-native run-android
npx react-native run-ios
# or start with Expo, which manages the native side for you
npx create-expo-app@latest Notes --template blank-typescript
npx expo startFull lesson: Setup and your first screen →
Navigation, native modules and Expo
Native modules
# most packages are autolinked: install, then rebuild the native app
npm install react-native-mmkv
npx pod-install ios
npx react-native run-android
# permissions still have to be declared natively
# android/app/src/main/AndroidManifest.xml
# <uses-permission android:name="android.permission.CAMERA" />
# ios/Notes/Info.plist
# <key>NSCameraUsageDescription</key><string>Scan receipts</string>Full lesson: Navigation, native modules and Expo →
Performance optimisation
Hermes and startup cost
// metro.config.js: defer expensive modules until they are used
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
};Full lesson: Performance optimisation →
Building and releasing with EAS and Fastlane
Configuration and signing
eas build:configure
eas credentials # let EAS manage or upload your own keys
eas build --platform ios --profile production
eas build --platform android --profile production
eas submit --platform ios --latest
eas submit --platform android --latest --track internal
Over-the-air updates
# publish a JS-only fix to the production channel
eas update --branch production --message "Fix currency rounding"
# roll back to the previous update on that branch
eas update:rollback --branch production --message "Reverting bad release"Full lesson: Building and releasing with EAS and Fastlane →
Expo Router, monorepos and the wider ecosystem
Choosing dependencies and growing a team
// scripts/check-deps.mjs: fail CI on a dependency that is not approved
import { readFileSync } from 'node:fs';
const approved = new Set(JSON.parse(readFileSync('approved-deps.json', 'utf8')));
const pkg = JSON.parse(readFileSync('package.json', 'utf8'));
const used = Object.keys({ ...pkg.dependencies, ...pkg.devDependencies });
const unapproved = used.filter((name) => !approved.has(name));
if (unapproved.length) {
console.error('Unapproved dependencies:', unapproved.join(', '));
process.exit(1);
}Full lesson: Expo Router, monorepos and the wider ecosystem →
FAQ
Is this React Native cheat sheet free to use?
Yes. No sign-up and no tracking: the page is static, every example is on the page itself, and you can print it or save it as a one-page reference.
Where do the examples come from?
Every snippet is taken from the 5 lessons of the React Native course on this site, and each section links back to the lesson it was pulled from.
How do I go deeper than a cheat sheet?
Open the full React Native course — it carries the worked explanations, the edge cases and the exercises behind every line here.
Related cheat sheets
Android iOS Flutter Kotlin Swift
Last refreshed 2026-09-27.