React — Fundamentals, Hooks & Modern Patterns

Build reactive UIs with React 19, hooks, Tanstack Query, React Router, and modern state management

React is the world's most popular frontend library. This course teaches React from first principles — JSX, components, props, state — then progressively covers the complete modern React toolkit: hooks (useState, useEffect, useContext, useReducer, useMemo, useCallback, custom hooks), React Router v6, Tanstack Query for server state, Zustand for client state, and React 19's new concurrent features and Server Components concepts.

$119 $24 80% OFF
3.2 CEU Credits
32 Study Hours (4 Weeks)
Beginner
5 Modules
24 Hands-on Labs
Course Tuition
$119 $24 80% OFF
CEU Credits 3.2 CEUs
Study Workload Breakdown (32 Hours):
Architectural Reading & Theory: 8 hrs
Hands-on Labs & Coding Drills: 18.2 hrs
Live Mentorship Cohort $150

Prefer live accountability? Join a guided 4–6 week cohort with weekly live faculty calls, 1-on-1 code reviews & capstone grading. Subsidized by Savadub Limited CSR.

Join Cohort ($150)
Subsidized Tuition: This course is made accessible at $24 through the Corporate Social Responsibility (CSR) endowment from Savadub Limited and partner sponsors.

Course Prerequisites

Part of Academy Track:
Frontend & Full-Stack JavaScript Engineering Stage 2 of 4 Courses in this track progression.
Access Lab Materials on LMS
Competency Matrix

What You Will Master

Build dynamic component-based UIs using JSX, props, and component composition
Master all core React hooks and write custom hooks for reusable stateful logic
Implement client-side routing with React Router v6 and nested routes
Manage server state with Tanstack Query: fetching, caching, mutations, optimistic updates
Manage global client state with Zustand and understand when to use Context vs Zustand
Understand React 19's concurrent model, Suspense, and the Server Components concept
Detailed Syllabus

Curriculum Modules (5 Modules)

Explore the structured module breakdown, lesson outcomes, and practical lab exercises.

01

Module 1: React Core — Components, JSX & Rendering

5 Lessons • ~4.8 Study Hours (0.48 CEUs)
~4.8 hrs 0.48 CEUs

Module 1: React Core — Components, JSX & Rendering. Understand React's position in the frontend ecosystem, compare it to Vue and Angular, and set up a React + TypeScript project with Vite.. Understand JSX as syntactic sugar for React.createElement, how the Virtual DOM diffs and reconciles, and the rules of JSX (single root, className, camelCase props).

00
Course Introduction — React in the Modern Ecosystem

Understand React's position in the frontend ecosystem, compare it to Vue and Angular, and set up a React + TypeScript project with Vite.

~45 min Lab Exercise
01
JSX & the Virtual DOM

Understand JSX as syntactic sugar for React.createElement, how the Virtual DOM diffs and reconciles, and the rules of JSX (single root, className, camelCase props).

~60 min Lab Exercise
02
Functional Components & Props

Write functional components, pass typed props with TypeScript interfaces, use prop destructuring, optional props with defaults, and children props for composition.

~65 min Lab Exercise
03
Rendering Lists & Conditional Rendering

Render arrays with .map() and the key prop requirement, implement conditional rendering patterns: &&, ternary, early return, and the element variable pattern.

~60 min Lab Exercise
04
Event Handling & Synthetic Events

Handle user events with React's SyntheticEvent system, understand event delegation, prevent default, stop propagation, and type event handlers correctly in TypeScript.

~55 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 2: State & Core Hooks. Master useState for local component state, understand state updates are asynchronous, use the functional updater pattern, and model complex state correctly.. Use useEffect for side effects: data fetching, subscriptions, timers. Understand the dependency array, cleanup functions, and how to avoid infinite re-render loops.

01
useState & State Management Fundamentals

Master useState for local component state, understand state updates are asynchronous, use the functional updater pattern, and model complex state correctly.

~65 min Lab Exercise
02
useEffect & the Component Lifecycle

Use useEffect for side effects: data fetching, subscriptions, timers. Understand the dependency array, cleanup functions, and how to avoid infinite re-render loops.

~70 min Lab Exercise
03
useRef & Imperative DOM Access

Use useRef to access DOM nodes imperatively (focus, measurements, animations), store mutable values that don't trigger re-renders, and forward refs to child components.

~60 min Lab Exercise
04
useContext & the Context API

Solve prop drilling with the Context API: createContext, Provider, useContext. Understand when Context is appropriate vs external state management, and how to optimise re-renders.

~65 min Lab Exercise
05
useReducer for Complex State Logic

Use useReducer when state logic is too complex for useState: action/reducer pattern, typed actions with discriminated unions, combining useReducer with useContext for global state.

~65 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 3: Advanced Hooks & Component Patterns. Prevent unnecessary re-renders with useMemo for computed values and useCallback for stable function references. Understand when to optimise and when it's premature.. Extract and share stateful logic with custom hooks: useLocalStorage, useFetch, useDebounce, useOnClickOutside, useWindowSize. Apply the custom hook naming convention and composability pattern.

01
useMemo & useCallback — Performance Optimisation

Prevent unnecessary re-renders with useMemo for computed values and useCallback for stable function references. Understand when to optimise and when it's premature.

~65 min Lab Exercise
02
Custom Hooks — Reusable Stateful Logic

Extract and share stateful logic with custom hooks: useLocalStorage, useFetch, useDebounce, useOnClickOutside, useWindowSize. Apply the custom hook naming convention and composability pattern.

~70 min Lab Exercise
03
Compound Components & Render Props

Design flexible, composable component APIs with the compound component pattern (Tabs, Accordion, Select) and render props for injecting rendering logic into parent components.

~65 min Lab Exercise
04
React.memo, lazy() & Code Splitting

Prevent unnecessary component re-renders with React.memo, implement route-based code splitting with React.lazy and Suspense, and understand the bundle size implications.

~60 min Lab Exercise
05
Forms with React Hook Form & Zod Validation

Build performant, validated forms with React Hook Form (zero re-renders), integrate Zod schema validation via @hookform/resolvers, and implement field arrays and nested forms.

~70 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 4: Routing & Server State Management. Set up React Router v6 with createBrowserRouter, define nested routes, use useParams, useSearchParams, useNavigate, Link, NavLink, and Outlet for nested UI.. Replace useEffect data fetching with Tanstack Query's useQuery: automatic caching, background refetching, stale-while-revalidate, loading/error states, and query invalidation.

01
React Router v6 — Routes, Params & Navigation

Set up React Router v6 with createBrowserRouter, define nested routes, use useParams, useSearchParams, useNavigate, Link, NavLink, and Outlet for nested UI.

~70 min Lab Exercise
02
Tanstack Query — Data Fetching & Caching

Replace useEffect data fetching with Tanstack Query's useQuery: automatic caching, background refetching, stale-while-revalidate, loading/error states, and query invalidation.

~70 min Lab Exercise
03
Tanstack Query — Mutations & Optimistic Updates

Use useMutation for POST/PUT/DELETE operations, implement optimistic UI updates that immediately reflect changes before server confirmation, and handle rollback on failure.

~65 min Lab Exercise
04
Tanstack Query — Infinite Queries & Pagination

Implement infinite scroll with useInfiniteQuery, build traditional pagination with useQuery and page params, and prefetch data for faster navigation.

~65 min Lab Exercise
05
Axios & API Client Architecture

Build a typed Axios API client with interceptors for auth tokens, error normalisation, request cancellation, and retry logic — wrapping it cleanly for use with Tanstack Query.

~60 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Module 5: Global State Management & React 19. Replace Redux boilerplate with Zustand: create stores with actions, use Immer for immutable updates, implement devtools middleware, persist state to localStorage, and slice the store for large apps.. Explore React 19's new APIs: useTransition for non-blocking UI updates, useOptimistic for instant feedback, use() for promise unwrapping, and the new form actions model.

01
Zustand — Lightweight Global State Management

Replace Redux boilerplate with Zustand: create stores with actions, use Immer for immutable updates, implement devtools middleware, persist state to localStorage, and slice the store for large apps.

~70 min Lab Exercise
02
React 19 — useTransition, useOptimistic & New Hooks

Explore React 19's new APIs: useTransition for non-blocking UI updates, useOptimistic for instant feedback, use() for promise unwrapping, and the new form actions model.

~65 min Lab Exercise
03
Suspense, Error Boundaries & Concurrent Features

Use Suspense for data fetching and code splitting, wrap components in ErrorBoundary for graceful error recovery, and understand React's concurrent rendering model.

~65 min Lab Exercise
04
Capstone Project: Full Dashboard with Auth, Charts & Real-Time

Build a complete React dashboard with JWT authentication (Tanstack Query + Axios), Zustand state, React Router protected routes, Recharts data visualisation, and a Socket.IO real-time feed.

~100 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Frontend Engineering Progression

Continue advancing through the sequential curriculum stages of this academy track:

Enroll in FE-101 on LMS