Web Development with React
Build modern websites and web apps with React and TypeScript.
A complete path from how the web works to production React: modern JavaScript, components, state, effects, routing, Tailwind, TypeScript, state management, Next.js, testing, performance and accessibility, ending with a project you deploy.
You will be able to
- Build React apps with components, state and hooks
- Fetch data, handle forms and route between pages
- Style with Tailwind and write TypeScript components
- Choose a state management approach
- Know when to use Next.js
- Test, optimise and deploy a React app
Who it's for
Beginners who want to become frontend or full-stack developers, and backend developers picking up React.
Before you start
Comfort using a computer and a code editor
Roles it leads to
Lessons
Module 1
Web foundations
HTML, CSS and the JavaScript React relies on.
How the web works
Follow one click from the address bar to a finished page: URLs, DNS, HTTP requests and responses, and how the browser turns HTML, CSS and JavaScript into what you see. This is the mental model every React developer works on top of.
HTML and CSS essentials
Build a responsive menu page for the Brew & Bean coffee shop with semantic HTML and modern CSS: the box model, Flexbox, Grid and a media query. React outputs HTML and is styled with CSS, so these basics carry straight into every React app.
Modern JavaScript for React
Learn the JavaScript that React code uses on every line: const and let, arrow functions, template literals, destructuring, spread, map/filter/find/reduce, modules, conditional expressions and async/await. You will run every example with Node.js on Brew & Bean menu data.
Start a React project with Vite
Create a React project with Vite, run it in the browser, understand each file, and clean it up into the Brew & Bean starting point. This is the base for every later lesson.
Module 2
React core
Components, props, state, effects and hooks.
Components and JSX
Build the Brew & Bean page from small components and learn the rules of JSX: one parent, className, braces for JavaScript, and imports and exports between files.
Props and composition
Make components reusable with props, understand why props are read-only, and build wrapper components with children. Your menu cards start showing real Brew & Bean data.
State and events
Make the Brew & Bean page interactive with useState and event handlers. Build a working cart, learn why state must never be mutated, and see how to lift state up.
Lists, keys and conditional rendering
Turn arrays of data into lists of components with map(), understand why every item needs a stable key, and show or hide parts of the screen with conditional rendering. You will build a filterable Brew & Bean menu.
Forms and validation
Build a Brew & Bean pickup-order form with controlled inputs, one shared change handler, validation on submit and clear error messages. Learn why the server must still check everything.
useEffect and fetching data
Learn what an effect is, how the dependency array works, and how to fetch data safely with loading and error states, cleanup and cancellation. You will load the Brew & Bean menu from a JSON file.
Custom hooks
Learn the rules of hooks and how to pull repeated stateful logic into your own functions. You will write useFetch, useLocalStorage and useDebounce hooks and use them to build a Brew & Bean cart that survives a page refresh.
Module 3
Building real apps
Routing, styling, TypeScript, state, Next.js, quality.
Routing with React Router
Turn a single-page React app into a multi-page experience with React Router: routes, links, a shared layout, URL parameters, redirects, a 404 page and navigation from code. You will build the Brew & Bean site with Home, Menu, Item and Order pages.
Styling: CSS modules and Tailwind CSS
Learn two popular ways to style React components: CSS Modules, which scope plain CSS to one component, and Tailwind CSS, which uses small utility classes. You will style a Brew & Bean menu card both ways and learn when to pick which.
TypeScript with React
Add types to a React app so mistakes show up in your editor instead of in the browser. Learn types for props, state, events, fetched data and custom hooks by typing a Brew & Bean order screen.
Managing app state: Context, Zustand and server state
Learn to sort state into kinds and pick the right tool for each: useState, lifting up, Context, Zustand, or TanStack Query for data from a server. Avoid the most common mistake: putting everything in one global store.
Next.js: server rendering and when you need it
Understand client-side vs server rendering, then build a small Next.js app with file-based routes, server components that fetch data, a dynamic page and one interactive client component. Learn when Next.js is worth it and when plain React is enough.
Performance and accessibility
Learn what makes a React app feel slow, how to measure it before fixing it, and the handful of techniques that matter most. Then learn the basics of accessibility so keyboard and screen reader users can use your app too.
Testing React components
Set up Vitest and React Testing Library in a Vite project, then write tests that act like a user: render a component, click, type, and wait for fetched data. Learn what to test, how to mock fetch, and how to read a failing test.
Module 4
Project and career
Build, deploy and prepare for interviews.
Project: recipe finder app
Build and finish a recipe finder with React, Vite and React Router: search recipes from a free public API, open a detail page with ingredients and steps, and save favourites that survive a page refresh. Ready to deploy in the next lesson.
Deploy and share your app
Put your React app on the internet with a public link: build it, push it to GitHub, deploy on a free host such as Vercel or Netlify, fix the refresh-gives-404 problem, and handle environment variables safely.
React interview essentials
The React questions that come up again and again in frontend interviews, with short, correct answers you can say in your own words, the classic pitfalls (stale state, missing keys, effect loops) and the small coding tasks interviewers like to set.
Tools, courses & exams
Hand-picked, free first. Free tiers and exam fees change, so check the provider's page.
Free tools
Visual Studio Code
Microsoft
A free code editor with built-in terminal, Git support and extensions. The default choice for React work.
Node.js
OpenJS Foundation
The JavaScript runtime that runs npm and Vite on your computer. Install the LTS version.
Vite
Vite team
The build tool and dev server used throughout this track. The guide covers project creation and the build and preview commands.
React Developer Tools
Meta / React team
A browser extension that shows your component tree, props and state. Very useful when debugging.
Chrome DevTools
Browser tools for inspecting HTML and CSS, reading console errors and watching network requests.
Free courses
The Modern JavaScript Tutorial
javascript.info
A thorough free text tutorial for JavaScript, from basics to modules and async code.
web.dev Learn
Free courses on HTML, CSS, responsive design, accessibility and performance, written by browser engineers.
freeCodeCamp
freeCodeCamp
Free, project-based lessons covering HTML, CSS, JavaScript and React, with an in-browser editor. Good for self-paced practice.
The Odin Project
The Odin Project
A free, open-source full-stack curriculum that makes you build projects and use Git from the start.
Official docs
React documentation (Learn)
Meta / React team
The official, beginner-friendly tutorial and reference, with interactive examples. Read it alongside this track.
MDN Web Docs: Learn web development
Mozilla
The most reliable free reference and course for HTML, CSS and JavaScript fundamentals.
Next.js Learn
Vercel
The official free course for Next.js, useful after you finish React fundamentals.
React Router
Remix / Shopify team
Official documentation for routing between pages in a React app.
Tailwind CSS documentation
Tailwind Labs
Official docs for the utility-first CSS framework used later in this track.
TypeScript Handbook
Microsoft
Official guide to TypeScript, which many React teams use in production.
Practice
Frontend Mentor
Frontend Mentor
Real design challenges to build with HTML, CSS and React, a good source of portfolio projects.
Many challenges are free; some premium challenges and features are paid. Check the site for current plans.
Vercel
Vercel
A hosting platform that deploys React and Next.js apps from a GitHub repository. Useful for the deployment lesson.
A free hobby plan exists with limits; paid plans are for teams and commercial use. Check the official page for current terms.
Exams & certifications