Free course

React Course

Learn React by building interfaces from components, JSX, props, state, hooks, events, forms, lists, and predictable one-way data flow.

6 modules · 46 lessons · No signup

Prerequisites: JavaScript, HTML and CSS

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build a small interactive React application with reusable components, local state, forms, lists, and one carefully chosen effect.

Course contents

  1. Start a React project

    Understand React, create a project, and inspect its entry point.

    1. ✓ What React is
    2. ✓ Create a React project with Vite
    3. ✓ Follow the project entry point
    4. ✓ Development and production builds
    5. ✓ Install React Developer Tools
  2. Components and JSX

    Describe interfaces with reusable components and JavaScript markup.

    1. ✓ Write your first component
    2. ✓ Compose components
    3. ✓ JSX is markup inside JavaScript
    4. ✓ The basic JSX rules
    5. ✓ Put JavaScript expressions in braces
    6. ✓ Set attributes and styles
    7. ✓ Keep rendering pure
    8. ✓ Check your understanding: components and JSX
  3. Props and state

    Pass data down and remember information between renders.

    1. ✓ Pass data with props
    2. ✓ Treat props as read-only
    3. ✓ Compose wrappers with children
    4. ✓ Add state with useState
    5. ✓ State is a snapshot
    6. ✓ Update objects and arrays without mutation
    7. ✓ State belongs to a position in the tree
    8. ✓ Check your understanding: props and state
  4. Hooks and effects

    Use Hooks consistently and synchronize with external systems.

    1. ✓ What Hooks are
    2. ✓ Follow the Rules of Hooks
    3. ✓ Effects synchronize external systems
    4. ✓ Write an Effect and its dependencies
    5. ✓ Clean up an Effect
    6. ✓ Why Effects run twice in development
    7. ✓ Extract a small custom Hook
    8. ✓ Check your understanding: Hooks and effects
  5. Events and forms

    Respond to interactions and manage accessible form inputs.

    1. ✓ Handle an event
    2. ✓ Pass data to an event handler
    3. ✓ Understand event propagation
    4. ✓ Control an input with state
    5. ✓ Submit a form
    6. ✓ Know when an input can stay uncontrolled
    7. ✓ Check your understanding: events and forms
  6. Rendering and data flow

    Render conditions and lists, lift state, and debug the result.

    1. ✓ Render a condition
    2. ✓ Render a list with map
    3. ✓ Give list items stable keys
    4. ✓ Group elements with a fragment
    5. ✓ Lift shared state up
    6. ✓ Follow one-way data flow
    7. ✓ Render an overlay with a portal
    8. ✓ Debug component data flow
    9. ✓ Build a React task list
    10. ✓ Check your understanding: rendering and data flow