Grokking React Native
Build iOS and Android apps with React Native and Expo: components, state, navigation, data fetching, lists, native features, animations, and Redux Toolkit.

Course Overview
React Native lets you describe a screen with React and display it with the native views of iOS and Android, so one JavaScript codebase produces apps that look and behave like any other app on the phone. This course teaches you to build those apps and to predict what your code will do on the screen. You start by creating a project with Expo and seeing your first screen on a phone or an emulator. You then learn JSX, components, props, events, hooks, state, and refs, and you build forms, responsive layouts, and screens that users move between with React Navigation. Later chapters load data from a server with the Fetch API, Axios, and React Query, and display it in long lists that stay fast. You also use device features like the camera, location, sensors, Bluetooth, and biometrics, add animations and gestures, and share state across the app with the Context API and Redux Toolkit. Each lesson explains one topic through working code, and every chapter after the introduction ends with an assessment that explains each answer.
What you'll learn in Grokking React Native
- Create a React Native app with Expo and explain what each file in the project does.
- Build screens from components, pass data with props, and respond to presses and other events.
- Capture and validate user input with TextInput, Formik, and Yup.
- Move between screens with stack, tab, and drawer navigators, modals, and deep links.
- Cache server data with React Query, update it with mutations, and keep the app useful offline.
- Use the camera, location, maps, sensors, Bluetooth, NFC, biometrics, and file storage.
- Share global state with the Context API and Redux Toolkit, and choose between them.
- Explain how React Native turns your JavaScript into the native views of iOS and Android.
- Manage changing data with useState, lift state up, and use refs where state is the wrong tool.
- Lay out responsive screens with Flexbox, StyleSheet, themes, custom fonts, and images.
- Fetch data with the Fetch API and Axios, handle errors and retries, and send authenticated requests.
- Display long lists with FlatList and SectionList, add infinite scrolling, and reduce rendering work.
- Build smooth animations with the Animated API and handle swipes and drags with Gesture Handler.
Course Content
Introduction to Hooks
Styling
How Styling Works in React Native
Using Inline Styles vs. StyleSheet
Understanding Flexbox for Layout
Creating a Responsive UI
Using Colors and Theming
Working with Fonts and Text Styling
Using Images and Backgrounds
Styling Buttons and Touchable Elements
Applying Global Styles and Reusable Components
Chapter Assessment: Styling
Advanced Data Fetching with React Query
Performance Optimization for Large Lists
Working with Native Features
Animations & Gestures
Understanding Animations in React Native
Animated API Basics
Using Different Animation Types
Interpolating Animated Values
Gesture Handling Basics with React Native Gesture Handler
Handling Swipe and Drag Gestures
Using the Animated API with Gestures
Advanced Gesture Handling
Performance Optimization for Animations & Gestures
Chapter Assessment: Animations & Gestures
Redux
Introduction to Redux Toolkit (RTK)
Setting Up Redux Toolkit in a React Native App
Creating and Managing State with Slices
Handling Async Data Fetching with createAsyncThunk
Understanding Middleware in Redux Toolkit
Debugging and Performance Optimization
Comparing Redux Toolkit with Other State Management Solutions
Chapter Assessment: Redux
What people say about our courses






About the Author

Arslan Ahmad
Industry Expertise & Leadership
Arslan Ahmad is the lead author of Grokking React Native. As the founder of Design Gurus and a former FAANG hiring manager, he has worked at industry giants like Facebook (now Meta) and Microsoft.
He has conducted hundreds of system design interviews, giving him unique insight into what top tech companies look for in candidates.
The course also incorporates expertise from senior engineers at Google, Meta, Amazon, Microsoft, and Uber, ensuring you learn system design best practices from professionals who have built and scaled real-world systems.
500+
Interviews Conducted
10k+
Students Taught
Related Courses
$197
$48
$48
FAQs
What is Grokking React Native?
It is a course on building mobile apps for iOS and Android from one JavaScript codebase. It starts with your first app and the basics of React, then covers styling, navigation, data fetching, lists, native device features, animations, gestures, and shared state with the Context API and Redux Toolkit.
Who is this course for?
It is for JavaScript developers who want to start building mobile apps, frontend developers who know React for the web, mobile developers who know Swift or Kotlin and want one codebase for both platforms, and full-stack developers who want to connect a mobile app to their APIs.
What do I need to know before I start?
You should be comfortable with JavaScript, including functions, objects, arrays, modules, and promises. You do not need to know React, because the course teaches components, props, state, and hooks from the beginning.
Do I need to take Grokking React Fundamentals first?
No. This course teaches the React it needs, using React Native components throughout. If you already know React for the web, the early chapters will move quickly, and they point out where React Native differs from the web.
Do I need a Mac or an iPhone?
No. You can run the examples on an Android phone with the Expo Go app, or on an Android emulator. An iOS simulator needs a Mac with Xcode. A physical iPhone needs a paid Apple Developer Program membership and a build installed through TestFlight, and the first-app lesson explains the steps.
Does the course use Expo or the React Native CLI?
It uses Expo, which needs very little setup, and the first-app lesson also shows how to start with the React Native CLI. Most lessons run in Expo Go. Libraries with their own native code, like the Bluetooth and NFC libraries, need a development build, and the course explains what that is and how to create one.
Which libraries does the course teach?
It teaches React Navigation, Axios, React Query, Formik and Yup, styled-components, React Native Paper, React Native Gesture Handler, Redux Toolkit, and Expo packages for the camera, location, sensors, background tasks, biometrics, and file storage.
Are there quizzes or assessments?
Yes. Every chapter after the introduction ends with an assessment, and each attempt draws a set of questions from a larger pool, so a second attempt gives you different questions. Most questions describe a situation, like a screen and what the user does, and every option comes with an explanation of why it is right or wrong.
Were the code examples tested?
Yes, in an automated test environment on a current release of React Native and Expo, which checks what a screen renders and how its state changes. That environment does not include a phone, so layout, animation, and hardware behavior come from the official documentation. Run the camera, sensor, and Bluetooth examples on a real device.
What does the course not cover?
It does not teach TypeScript, publishing to the App Store or Google Play, push notifications, WebSockets, or Expo Router, since navigation is taught with React Navigation. Testing appears only as a short example of a handler test, so you will need other material for those subjects.
