React Native
React components rendered as native views.
React Native is taught here in 14 lessons, running from Setup and your first screen through to Expo Router, monorepos and the wider ecosystem. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Mobile Development |
| Lessons | 14 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: Flutter |
Lessons
- Setup and your first screenCreate a project, understand the Metro bundler and the bridge, and render your first screen with core React Native components.
- Core components and stylingThe components that map onto native views, and the styling rules that differ from CSS on the web.
- Navigation, native modules and ExpoRouting with React Navigation, linking native code, and when the Expo managed workflow is the right trade-off.
- Modern JavaScript and TypeScript for React NativeES modules, destructuring, optional chaining, async/await, and the TypeScript types and generics you need to keep a component tree honest.
- Flexbox layout and responsive designThe flexbox defaults that differ from CSS, sizing with flex and percentages, safe areas and notches, orientation changes, tablets and dark mode.
- Lists, forms and input handlingVirtualise long lists with FlatList and SectionList, stabilise keys, add pull to refresh, and build forms that handle the keyboard and validation correctly.
- State management: Context, Redux Toolkit and ZustandSplit client state from server state, avoid the Context re-render trap, and use Redux Toolkit or Zustand without turning every screen into boilerplate.
- Networking, data fetching and offline supportWrap fetch with timeouts and retries, cache and deduplicate with TanStack Query, detect connectivity, and queue mutations so a lost signal does not lose work.
- Persistence and device APIsChoose between AsyncStorage, MMKV and SecureStore, then use camera, location, notifications and the file system with permissions handled at the point of use.
- Testing React Native appsConfigure Jest and React Native Testing Library, mock native modules correctly, test async flows, avoid snapshot traps, and add Detox for end-to-end coverage.
- Performance optimisationStop unnecessary re-renders, use memo and useCallback deliberately, understand Hermes, tune long lists, and profile real frames instead of guessing.
- Native modules, TurboModules and the New ArchitectureWrite a native module with codegen, understand JSI and Fabric, migrate off the legacy bridge, and decide when native code is worth the maintenance.
- Building and releasing with EAS and FastlaneConfigure app.json and signing, build and submit with EAS, ship over-the-air updates safely, and run the release pipeline for both stores.
- Expo Router, monorepos and the wider ecosystemUse file-based routing, share code across platforms and packages, structure a growing repo, and choose wisely when picking dependencies.
More in Mobile Development
Android iOS Flutter Kotlin Swift
FAQ
How long does the React Native course take?
It has 14 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for React Native?
Not strictly. It helps to have read Flutter first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after React Native?
Continue with Kotlin (13 lessons), the next course in Mobile Development.