Choose your language
React Native + Hooks Course
More than 2 million students worldwide

React Native + Hooks Course

Master React Native and Hooks from the ground up — covering core hooks, custom hook design, navigation, state management, and production deployment. You'll build real, cross-platform apps for iOS and Android while writing clean, modern JavaScript. This course takes you from setup to app store submission with zero fluff.

Dedika for Business

What you will learn:

You'll start with JavaScript and React fundamentals, then move into React Native's architecture, core components, and styling system. From there, you'll master useState, useEffect, useReducer, useContext, and performance hooks like useMemo and useCallback. You'll build custom hooks, integrate React Navigation, and manage global state with Zustand and Redux Toolkit. The course also covers testing with Jest and React Native Testing Library, animations, TypeScript integration, and CI/CD pipelines. By the end, you'll have the skills to build, test, and ship production-ready React Native applications.

How you study in practice React Native + Hooks Course

How you practise React Native + Hooks Course

For companies looking to train their team

With Dedika for Business, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course Content

8 Chapters • 39 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

JavaScript and React Essentials for Hooks

  • Lesson 1 • JSX and the Virtual DOM

    Explains JSX compilation, key prop reconciliation, and how React's diffing algorithm minimizes native updates. Connects virtual DOM behavior to performance.

  • Lesson 2 • Functional Components Deep Dive

    Contrasts class components with functional components and explains why hooks require functional components. Establishes the mental model for stateless UI functions.

  • Lesson 3 • Modern JavaScript Syntax Review

    Covers destructuring, spread/rest, arrow functions, and async/await as used throughout React Native codebases. Reduces syntax confusion in later hook examples.

  • Lesson 4 • Component Lifecycle Concepts

    Maps class lifecycle methods to their functional equivalents to prepare students for useEffect. Clarifies mount, update, and unmount phases.

Chapter 2See details

React Native Foundations and Environment Setup

  • Lesson 1 • What Is React Native

    Explains the bridge architecture, JavaScript thread, and native module system. Positions React Native relative to web React and native development.

  • Lesson 2 • Creating Your First Project

    Uses the React Native CLI to scaffold a project and explains the generated file structure. Connects folder layout to the build pipeline.

  • Lesson 3 • Core Built-In Components

    Introduces View, Text, Image, ScrollView, and TextInput as the primitive UI building blocks. Demonstrates how each maps to a native widget.

  • Lesson 4 • Setting Up the Development Environment

    Installs Node, Watchman, Xcode, and Android Studio with correct SDK versions. Validates the toolchain by running a blank project on both platforms.

  • Lesson 5 • Styling with StyleSheet

    Covers the StyleSheet API, Flexbox layout model, and platform-specific style patterns. Produces a styled, responsive screen layout.

Chapter 3See details

Core Hooks: useState and useEffect

  • Lesson 1 • Managing State with useState

    Introduces the useState signature, state initialization, and updater function patterns. Covers common pitfalls like stale closures and batched updates.

  • Lesson 2 • Building a Counter and Timer App

    Applies useState and useEffect together in a practical counter and countdown timer. Reinforces state updates, intervals, and cleanup in a real component.

  • Lesson 3 • Side Effects with useEffect

    Explains the dependency array, cleanup functions, and execution timing relative to rendering. Replaces all three class lifecycle methods with a single hook.

  • Lesson 4 • Fetching Remote Data with Hooks

    Builds a data-fetching pattern using useState for data/loading/error states and useEffect for the fetch call. Introduces the loading and error UI states.

  • Lesson 5 • Rules of Hooks

    Enforces the two official rules—top-level calls and React-function-only calls—and explains why they exist. Introduces the ESLint plugin for automatic enforcement.

Chapter 4See details

Additional Built-In Hooks

  • Lesson 1 • Performance Hooks: useMemo and useCallback

    Memoizes expensive computations with useMemo and stabilizes function references with useCallback to prevent unnecessary child re-renders.

  • Lesson 2 • Imperative APIs with useImperativeHandle

    Exposes a controlled imperative API from a child component to a parent ref using useImperativeHandle and forwardRef. Useful for custom input components.

  • Lesson 3 • Referencing Values with useRef

    Uses useRef to persist mutable values across renders without triggering re-renders and to access native component instances. Contrasts with useState for non-UI data.

  • Lesson 4 • Complex State with useReducer

    Implements a reducer function and dispatch pattern for multi-action state machines. Compares useReducer to useState for form and cart scenarios.

  • Lesson 5 • Sharing State with useContext

    Creates a React context, provides it at the tree root, and consumes it with useContext to avoid prop drilling. Builds a theme-switching example.

Chapter 5See details

Building Custom Hooks

  • Lesson 1 • useForm: Form State Management Hook

    Builds a useForm hook that manages field values, validation errors, and submission state. Replaces repetitive form logic across multiple screens.

  • Lesson 2 • Testing Custom Hooks

    Uses React Native Testing Library and renderHook to unit-test custom hooks in isolation. Covers act, async act, and mocking external dependencies.

  • Lesson 3 • useFetch: Data Fetching Hook

    Extracts the fetch-loading-error pattern into a reusable useFetch hook with configurable URL and options. Demonstrates how custom hooks reduce component boilerplate.

  • Lesson 4 • useLocalStorage and useAsyncStorage

    Wraps AsyncStorage in a hook that mirrors the useState API for persistent key-value data. Handles serialization, deserialization, and error cases.

  • Lesson 5 • Custom Hook Design Principles

    Defines the naming convention, single-responsibility rule, and composability requirements for custom hooks. Establishes quality criteria before writing code.

Chapter 6See details

Navigation and Screen Management

  • Lesson 1 • Stack Navigator Patterns

    Creates a native stack navigator with push, pop, and replace transitions. Passes params between screens and reads them with useRoute.

  • Lesson 2 • Tab and Drawer Navigators

    Adds bottom tab and drawer navigators and nests them inside the stack. Customizes tab icons and drawer content with hook-driven state.

  • Lesson 3 • Authentication Flow with Navigation

    Implements a conditional navigator that switches between auth and app stacks based on token state stored in context. Demonstrates real-world protected routing.

  • Lesson 4 • Navigation Hooks in Depth

    Uses useNavigation, useRoute, useFocusEffect, and useIsFocused to control navigation behavior from within components. Replaces prop-drilling of navigation objects.

  • Lesson 5 • React Navigation Setup

    Installs React Navigation and its native dependencies, then wraps the app in NavigationContainer. Establishes the navigator tree as the app's routing backbone.

Chapter 7See details

State Management at Scale

  • Lesson 1 • Server State with React Query

    Uses React Query's useQuery and useMutation hooks to manage server state, caching, and background refetching. Eliminates manual loading/error state management.

  • Lesson 2 • Redux Toolkit Integration

    Configures a Redux store with createSlice, RTK Query for data fetching, and the Provider wrapper. Connects components using useSelector and useDispatch.

  • Lesson 3 • Context API Patterns at Scale

    Splits context into state and dispatch providers to prevent unnecessary re-renders in large trees. Combines useReducer with context for a Redux-like pattern.

  • Lesson 4 • Global State with Zustand

    Creates a Zustand store with actions and selectors, then consumes it with a single hook call. Compares Zustand's minimal API to Context boilerplate.

  • Lesson 5 • Choosing the Right State Solution

    Provides a decision framework comparing local state, context, Zustand, Redux, and React Query by complexity and use case. Prevents over-engineering in real projects.

Chapter 8See details

Performance, Testing, and Deployment

  • Lesson 1 • Profiling and Diagnosing Performance

    Uses Flipper, the React DevTools profiler, and the Performance Monitor to identify slow renders and JS thread jank. Establishes a measure-first optimization workflow.

  • Lesson 2 • Optimizing Lists and Images

    Applies FlatList optimization props, image caching, and lazy loading to eliminate scroll jank. Covers windowSize, initialNumToRender, and getItemLayout.

  • Lesson 3 • Testing Components and Hooks

    Writes unit and integration tests with Jest and React Native Testing Library, covering user interactions and async behavior. Achieves meaningful coverage without testing implementation details.

  • Lesson 4 • Animation with Animated and Reanimated

    Builds smooth animations using the Animated API and upgrades to Reanimated 2 for UI-thread animations. Covers spring, timing, and gesture-driven motion.

  • Lesson 5 • Building and Releasing the App

    Generates signed release builds for iOS and Android, configures environment variables, and submits through the respective app distribution pipelines.

Certification

Your valid completion certificate

This course is for you:

  • Web developer: ready to extend existing JavaScript skills into mobile apps.

  • Career changer: seeking a high-demand skill set with strong job market prospects.

  • Freelancer: wanting to offer iOS and Android app development to clients.

  • Computer science student: looking to build a standout mobile portfolio project.

  • Backend developer: aiming to become a full-stack engineer with mobile capabilities.

  • Hobbyist coder: motivated to turn a personal app idea into a real product.

What our students say

Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to switch platforms... I thank you for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the presentation style and video transcription, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top training programs

FAQ

Who is Dedika?

Is the certificate valid in Canada?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course