React
The complete path through React: from your first component and JSX, through state, hooks, and effects, to loading data with Suspense, performance, React on the server, and how React works under the hood. Written for learners who already know JavaScript; each lesson pairs a short explanation with components you can run and change.
Why React?
The problem React solves: keeping the screen in sync with your data, without touching the DOM by hand.
// What you’ll learn
- UI as a function of data
- Imperative DOM code vs declarative UI
- Components you can reuse
- What React is and isn't
Your progress
View detailed stats- day streak
- 0
- days this week
- 0
- stages done
- 0/10
Recent activity
View allLessons you open and finish, and your quiz scores, show up here.
Next up for you
Quick actions
Recommended for you Based on your progress
- Coming up: Describing the UIStage 2 starts with Your first component. A component is a JavaScript function that returns markup. Write one, nest it, and move it into its own file.
- Practice in the playgroundWrite and run your own JavaScript, with examples to start from and the console beside it.
- How these lessons are madeThe sources, structure, checks, and Tuto behind every lesson on the path.
The learning path
89 of 89 available10 stages, in order. Each one builds on the last, from your first component to how React renders and updates the page. Jump to a stage, or search for any topic.
- STAGE 1 · BEGINNERGetting started1 module · 5 lessons
- STAGE 2 · BEGINNERDescribing the UI2 modules · 9 lessons
- STAGE 3 · BEGINNERAdding interactivity1 module · 7 lessons
- STAGE 4 · INTERMEDIATEManaging state3 modules · 11 lessons
- STAGE 5 · INTERMEDIATERefs, effects and custom hooks3 modules · 11 lessons
- STAGE 6 · INTERMEDIATEData, Suspense and concurrency2 modules · 9 lessons
- STAGE 7 · ADVANCEDPerformance1 module · 5 lessons
- STAGE 8 · ADVANCEDPatterns and the ecosystem2 modules · 9 lessons
- STAGE 9 · ADVANCEDReact on the server2 modules · 7 lessons
- STAGE 10 · EXPERTUnder the hood3 modules · 16 lessons
89 lessons in 10 stages and 20 modules.
Stage 1 Beginner
Getting started
What React is for, the JavaScript it builds on, a first look at how it works, and your first app.
1 module · 5 lessons
- 5 lessons · 1 h 38 min
Module 1: Welcome to React
Why React exists, what you need to know first, and how to start a project.
Stage 2 Beginner
Describing the UI
Components, JSX, props, conditions and lists: how to describe what the screen should show.
2 modules · 9 lessons
- 4 lessons · 1 h 27 min
Module 2: Components and JSX
Write components, describe markup with JSX, and put JavaScript inside it.
- 5 lessons · 1 h 52 min
Module 3: Conditions, lists and purity
Show different things in different cases, render lists, and keep rendering predictable.
Stage 3 Beginner
Adding interactivity
Events, state, and how React re-renders: the core of every interactive screen.
1 module · 7 lessons
- 7 lessons · 2 h 46 min
Module 4: Events and state
Respond to the user and remember things between renders.
Stage 4 Intermediate
Managing state
Structure state well, share it between components, and scale it up with reducers and context.
3 modules · 11 lessons
- 4 lessons · 1 h 38 min
Module 5: Structuring and sharing state
Decide what goes in state, where it lives, and when it is kept or reset.
- 4 lessons · 1 h 46 min
Module 6: Reducers and context
Move complex updates into a reducer and pass data deep without threading props.
- 3 lessons · 1 h 26 min
Module 7: Forms
Inputs, validation, and React 19's form actions.
Stage 5 Intermediate
Refs, effects and custom hooks
Step outside React's data flow when you need to: refs, the DOM, effects, and hooks of your own.
3 modules · 11 lessons
- 2 lessons · 54 min
Module 8: Refs
Remember values without re-rendering, and reach the DOM when you need to.
- 6 lessons · 2 h 55 min
Module 9: Effects
Synchronize components with things outside React, and avoid effects you don't need.
- 3 lessons · 1 h 31 min
Module 10: Custom hooks
Hook rules, reusable logic, and subscribing to outside data.
Stage 6 Intermediate
Data, Suspense and concurrency
Load data, show loading and error states, and keep the UI responsive while React works.
2 modules · 9 lessons
- 5 lessons · 2 h 37 min
Module 11: Loading data
Fetch data, wait for it with Suspense, and handle errors.
- 4 lessons · 2 h 4 min
Module 12: Concurrent features
Keep typing and clicking fast while slow updates happen in the background.
Stage 7 Advanced
Performance
Know when React re-renders, measure before optimizing, and let the compiler do the memoizing.
1 module · 5 lessons
- 5 lessons · 2 h 42 min
Module 13: Rendering performance
Re-renders, memoization, the React Compiler, and the profiler.
Stage 8 Advanced
Patterns and the ecosystem
Component patterns, accessibility, and the tools real React apps are built with.
2 modules · 9 lessons
- 4 lessons · 2 h 16 min
Module 14: Component patterns
Compose components well, render outside the tree, build accessible UI, and read older React code.
- 5 lessons · 2 h 52 min
Module 15: The React ecosystem
Routing, state libraries, project structure, testing, and TypeScript in real React apps.
Stage 9 Advanced
React on the server
Server rendering, hydration, streaming, Server Components, and what frameworks add.
2 modules · 7 lessons
- 4 lessons · 2 h 16 min
Module 16: Server rendering
Render on the server, hydrate in the browser, and stream HTML as it's ready.
- 3 lessons · 1 h 45 min
Module 17: Server Components
Components that run only on the server, and functions the client can call.
Stage 10 Expert
Under the hood
How React really works, read from its source code on GitHub: elements, fibers, the work loop, hooks, lanes, and the scheduler.
3 modules · 16 lessons
- 3 lessons · 1 h 33 min
Module 18: Elements and fibers
Find your way around the React repository, and meet the data structures everything else is built on.
- 5 lessons · 3 h
Module 19: Rendering and committing
Follow an update from setState to the DOM through ReactFiberWorkLoop, beginWork, completeWork and the commit phase.
- 8 lessons · 5 h 28 min
Module 20: Scheduling, concurrency and beyond
Lanes, the scheduler, the event system, hydration, Server Components and the compiler, from the inside.
- 20.1Lanes: how React prioritizes updates38 min
- 20.2The scheduler package36 min
- 20.3Concurrent rendering, Suspense and transitions inside42 min
- 20.4React's event system40 min
- 20.5Hydration inside38 min
- 20.6Server Components inside: the Flight protocol42 min
- 20.7How the React Compiler works42 min
- 20.8Build your own tiny React50 min