React Tutorial
A complete 49-lesson React path from JSX and components through hooks, routing, performance, testing, architecture, and an InTelleX-style lesson player capstone - the foundation before Next.js.
Curriculum
Work through each section in order. Every lesson ends with practice and key points so the idea sticks.
Getting Started
- 1What is React?
Understand React as a UI library, its declarative model, and why teams choose it for modern web apps.
10 min - 2The Mental Model: UI = f(state)
Learn the core React idea: your UI is a function of state, and re-renders follow data changes.
12 min - 3Setting Up Vite + React
Create a modern React project with Vite, understand the folder structure, and run your first dev server.
14 min
JSX & Components
- 4JSX Deep Dive
Master JSX syntax: expressions, attributes, rules, and how it compiles to JavaScript.
15 min - 5Function Components
Build reusable UI with function components, exports, and component composition basics.
14 min - 6Props and Data Flow
Pass read-only data from parent to child with props and understand one-way data flow.
14 min - 7Children and Composition
Use the children prop and composition patterns to build flexible layout components.
13 min - 8Conditional Rendering
Show different UI with if/return, ternaries, logical AND, and switch patterns.
13 min - 9Lists and Keys
Render collections with map, choose stable keys, and avoid common list rendering bugs.
14 min
State & Forms
- 10useState Deep Dive
Master useState: initial state, functional updates, batching, and multiple state variables.
16 min - 11Immutable State Updates
Update objects and arrays in state correctly by creating new values instead of mutating.
15 min - 12Event Handlers in React
Handle user interactions with synthetic events, handler patterns, and passing arguments.
14 min - 13Controlled Forms
Build forms where React state is the single source of truth for every field value.
16 min - 14Styling with className and CSS Modules
Apply styles with className, CSS files, and CSS Modules for scoped component styles.
14 min
First Projects
- 15Thinking in React
Break UIs into component trees, identify state, and decide where data should live.
15 min - 16Debugging with React DevTools
Inspect component trees, props, state, and re-renders using React Developer Tools.
13 min - 17Mini Project: Todo List
Build a complete todo list app applying components, state, events, lists, and immutable updates.
20 min - 18Mini Project: Profile Card
Build a polished profile card with props, composition, conditional UI, and CSS Modules.
18 min
Effects & Data
- 19useEffect Fundamentals
Learn what useEffect does, when to use it, and how it differs from rendering logic.
16 min - 20useEffect Dependencies
Master the dependency array, exhaustive-deps rules, and avoiding infinite effect loops.
15 min - 21useEffect Cleanup and Stale Closures
Write correct cleanup functions and understand stale closures in effects and event handlers.
16 min - 22Fetching Data Patterns
Implement robust data fetching with useEffect, handle race conditions, and structure API calls.
16 min - 23Loading, Error, and Empty States
Model async UI states explicitly and build polished loading, error, and empty experiences.
14 min
Hooks Toolkit
- 24Custom Hooks
Extract reusable stateful logic into custom hooks that compose built-in hooks.
15 min - 25useRef: DOM Access and Mutable Values
Use useRef for DOM nodes, imperative focus, and mutable values that do not trigger re-renders.
14 min - 26useReducer
Manage complex state transitions with reducers, actions, and dispatch.
15 min - 27Context API
Share theme, auth, and locale data across the tree without prop drilling.
15 min - 28Context + Reducer Pattern
Combine useReducer with Context for predictable global state without external libraries.
16 min - 29State Colocation vs Lifting State Up
Decide where state belongs as features grow and avoid premature global state.
14 min
Routing & Structure
- 30React Router: Routes and Setup
Set up client-side routing with React Router, map URLs to components, and structure a multi-page SPA.
15 min - 31Nested Routes, Links, and Params
Build layouts with Outlet, navigate with Link and NavLink, and read dynamic URL parameters.
16 min - 32Lazy Loading with React.lazy and Suspense
Code-split routes and components to reduce initial bundle size and improve load time.
14 min - 33Form Validation, Keys, and Portals
Validate forms in React, understand key remounting behavior, and render modals with portals.
16 min - 34Intermediate Project: Notes App
Build a notes app combining routing, context, reducer, effects, and localStorage persistence.
25 min
Performance
- 35useMemo and useCallback
Apply useMemo and useCallback correctly for expensive calculations and stable references.
16 min - 36React.memo
Skip re-renders of pure components when props are shallowly equal.
14 min - 37useTransition and useDeferredValue
Keep the UI responsive during expensive updates with React concurrent features.
15 min - 45Profiling React Performance
Use React DevTools Profiler and browser tools to find and fix real bottlenecks.
14 min
Quality
- 38Error Boundaries
Catch render errors and show fallback UI so one broken widget does not crash the app.
14 min - 39Accessibility in React
Build inclusive UIs with semantic HTML, ARIA, keyboard support, and focus management.
15 min - 40Testing with Vitest and Testing Library
Write user-centric component tests with Vitest, React Testing Library, and user-event.
16 min - 41TypeScript with React
Type components, props, events, hooks, and context for safer React codebases.
16 min
Architecture
- 42Compound Components and Modern Patterns
Design flexible APIs with compound components, render props, and controlled/uncontrolled patterns.
15 min - 43State Management: When to Leave Context
Recognize when Context is not enough and evaluate lightweight stores and data libraries.
14 min - 44Folder Architecture for React Apps
Organize growing codebases by feature, enforce boundaries, and keep components maintainable.
14 min - 46Suspense Data Patterns Overview
Understand Suspense for data fetching, streaming, and how frameworks integrate async UI.
14 min
Capstone
- 47Capstone: Lesson Player UI
Build an InTelleX-style lesson player with sidebar curriculum, content pane, progress, and locks.
25 min - 48Capstone Polish and Deploy Checklist
Production checklist: performance, accessibility, error handling, build, and static deploy.
18 min - 49Next Steps toward Next.js
Bridge from client React to Next.js: routing, server components, data fetching, and deployment.
14 min