React 19 Course: Build Modern Web Interfaces
React is an advanced-level course of 6 lessons (about 3 h 22 min), with 18 exercises and 18 quiz questions. Prerequisites: Asynchronous JavaScript (Promises, fetch, APIs). Exercises run in the browser, with nothing to install.
- Front-end
- Advanced
- 6 lessons
- 3 h 22 min
- 18 exercises
- Exercises run in the browser
The course in brief
This course teaches you to design web interfaces with React 19, the reference front-end library. You will write reusable components, manage state and events, load data with effects, share state with Context and useReducer, then use React 19's form Actions. The pure logic is tested automatically and the components come with React Testing Library-style tests.
What you will be able to do
- Design an interface as reusable components with JSX, props and children
- Manage local state and events while respecting immutability
- Render lists and share state between components while avoiding redundant state
- Synchronize a component with the outside world using useEffect, cleanup and request cancellation
- Structure global state with useReducer, Context and custom hooks
- Submit forms with React 19 Actions (useActionState, useFormStatus, useOptimistic)
Syllabus: 6 lessons
- Write function components that return JSX
- Pass data to components with props and children
- Apply the rules of JSX (expressions, attributes, fragments)
- 02
State with useState and Events
- Add local state to a component with useState
- React to user events
- Update objects and arrays immutably and manage a controlled field
- 03
Lists, Conditional Rendering and Shared State
- Render lists with map and stable keys
- Choose the right form of conditional rendering
- Lift state up to a common parent and compute derived data during rendering
- 04
Effects, Synchronization and Data Loading
- Use useEffect to synchronize with an external system
- Write a cleanup function and manage dependencies
- Load data while handling loading, errors and stale responses
- 05
useReducer, Context and Custom Hooks
- Centralize complex state logic with useReducer
- Share data without prop drilling using Context
- Extract reusable logic into a custom hook
- 06
Forms and Actions with React 19
- Submit a form with an Action (the action prop of a <form>)
- Handle the result, errors and pending state with useActionState and useFormStatus
- Display an optimistic update with useOptimistic
Final project
A React Mini-Shop with Cart and Checkout
Build a small shop in React 19 with Vite: a catalog loaded from an API (simulated or real) with search and filters, a product page, a global cart managed with Context and useReducer and persisted in localStorage, and a checkout form using an Action with useActionState. The interface handles loading and error states and stays usable with the keyboard.
Deliverables
- The Vite project source code (components, hooks, reducer, context)
- A pure cart reducer with unit tests
- A useProduits hook handling loading, error and cancellation
- A checkout form with useActionState, useFormStatus and accessible messages
- At least five component tests with React Testing Library
- A README explaining the architecture and the state choices
Assessment criteria
- Small, pure, reusable components
- No state mutation and no needlessly stored derived data
- Effects limited to external synchronization, with cleanup
- Correct use of React 19's form APIs
- Visible and accessible loading, error and success states
- Relevant tests that pass
Frequently asked questions
What level do I need to follow this React course?
You should be comfortable with modern JavaScript: arrow functions, destructuring, map and filter, modules and asynchronous code (promises, fetch). The Asynchronous JavaScript course is the direct prerequisite.
Does the course cover React 19?
Yes, in its 19.3 version. In addition to the core hooks, it covers what is new in React 19: form Actions, useActionState, useFormStatus, useOptimistic, use, context used directly as a provider, and useEffectEvent for effects.
Should I learn TypeScript before React?
No, the course is written in JavaScript (JSX). TypeScript is recommended for professional projects and is learned in parallel in the TypeScript course of the same learning path.
What tool should I use to create a React project today?
Create React App is deprecated. To learn, Vite is the simplest; for a full application with routing and server rendering, you use a framework such as Next.js or React Router.
This course, told for your job
Say what you want to be able to do: “React” takes its place in your path, with examples from your field. The concepts stay those of the course.