React Mastery
Components, state, effects and hooks in React 19, with every app running live as you type.
40 lessons across 8 units: live React apps, quizzes and 48 coding problems graded by clicking and typing through your app.
- Units
- 8
- Lessons
- 40
- Coding problems
- 48
- Examples
- 61
Free: units 1 to 2 (10 lessons). Units 3 to 8 with DevArcade Pro.
What you'll learn
- Component CampWhat React is, JSX rules, components and props, children and conditional rendering.
- State SpringsLists and keys, useState, events, immutable updates and lifting state up.
- Form FieldsControlled inputs, selects and checkboxes, submitting, validation and derived state.
- Effect FallsuseEffect, dependencies, cleanup, fetching data and race conditions.
- Context CanyonProp drilling, context, useReducer, reducer plus context and state structure.
- Hook HarboruseRef, DOM refs, custom hooks, debouncing and useId.
- Render RidgeHow rendering works, keys and identity, memo, useMemo and useCallback, Suspense and rendering less.
- App SummitComponent architecture, a tiny router, error boundaries, testable UI and the boss board.
Course outline
8 units and 40 lessons. Each lesson has a short read with examples you run, a quiz, and coding problems tested in your browser; most have a step-through visualizer.
- Free
Unit 1:Component Camp
What React is, JSX rules, components and props, children and conditional rendering.
- What Is React? UI as a function of data: components, JSX, and how this course runs and grades your apps.1 problem
- JSX Rules One root element, closed tags, className and camelCase props, curly braces for JavaScript, and style objects.1 problem
- Components and Props Split the UI into components and pass them data with props: destructuring, defaults and one-way data flow.2 problems
- Children and Composition The children prop, wrapper components and building screens by nesting small pieces.1 problem
- Conditional Rendering Show different UI for different data: if and early returns, the ternary, && and the 0 trap.2 problems
-
- Free
Unit 2:State Springs
Lists and keys, useState, events, immutable updates and lifting state up.
- Rendering Lists and Keys Turn arrays into elements with map, filter before you render, and give every item a stable key.1 problem
- State with useState Give a component memory: useState, setters, re-renders and why state is a snapshot.2 problems
- Responding to Events onClick and friends, passing handlers down, reading the event, preventDefault and stopPropagation.2 problems
- Updating Objects and Arrays Never mutate state: copy with spread, update arrays with map, filter and slice, and why React needs new objects.2 problems
- Lifting State Up When two components need the same data, move the state to their closest common parent and pass it down.1 problem
-
- Pro
Unit 3:Form Fields
Controlled inputs, selects and checkboxes, submitting, validation and derived state.
- Controlled Inputs Let state drive the input: value plus onChange, textareas, and transforming what the user types.1 problem
- Selects, Checkboxes and Radios value on selects, checked on checkboxes and radios, and keeping several choices in state.1 problem
- Submitting Forms onSubmit with preventDefault, Enter to submit for free, clearing fields, and reading FormData.1 problem
- Validating Input Compute errors from state, show them at the right moment with touched fields, and block invalid submits.1 problem
- Derived State Store the minimum and compute the rest during render: filtered lists, totals and flags.1 problem
-
- Pro
Unit 4:Effect Falls
useEffect, dependencies, cleanup, fetching data and race conditions.
- Synchronizing with useEffect Effects run after React updates the screen and keep something outside React in sync: the title, a timer, a connection.1 problem
- Effect Dependencies No array, an empty array or a list of values: when effects re-run, and why every value they read belongs in the list.1 problem
- Cleaning Up Effects Return a cleanup function to stop timers, remove listeners and disconnect, before the next run and on unmount.2 problems
- Fetching Data Load data in an effect, track loading and error states, and render each state clearly.1 problem
- Race Conditions When answers arrive out of order: ignore stale responses with a cleanup flag or cancel them with AbortController.1 problem
-
- Pro
Unit 5:Context Canyon
Prop drilling, context, useReducer, reducer plus context and state structure.
- Passing Data Deeply Props through many layers: when it is fine, when it hurts, and the options before reaching for context.1 problem
- Context createContext, providing a value to a whole subtree, useContext, defaults and when context fits.1 problem
- Reducers with useReducer Move update logic into one pure function: actions, dispatch, and when a reducer beats several useStates.1 problem
- Reducer Plus Context Scale up: provide state and dispatch through context, with small custom hooks to read them.1 problem
- Choosing the State Structure Avoid duplicated and contradictory state: store ids, not copies; group related values; flatten nested data.1 problem
-
- Pro
Unit 6:Hook Harbor
useRef, DOM refs, custom hooks, debouncing and useId.
- Remembering with useRef A box that survives renders without causing them: timer ids, previous values and counters nobody sees.1 problem
- Refs to DOM Elements The ref attribute, focusing and scrolling, focusing after a re-render, and keeping imperative code small.1 problem
- Custom Hooks Extract stateful logic into your own use… functions: naming, sharing logic not state, and what to return.1 problem
- Hook Recipes: Debounce and Storage Two everyday hooks: useDebouncedValue for typing, and useLocalStorage for state that survives a reload.2 problems
- useId and Refs as Props Unique ids for accessible labels in reusable components, and passing a ref down to a child's DOM node (React 19).1 problem
-
- Pro
Unit 7:Render Ridge
How rendering works, keys and identity, memo, useMemo and useCallback, Suspense and rendering less.
- How Rendering Works Trigger, render, commit; why children re-render with their parent; state lives at a position; resetting with a key.1 problem
- Skipping Renders with memo memo() skips re-rendering a component whose props did not change, and why new objects and functions defeat it.1 problem
- useMemo and useCallback Cache an expensive calculation between renders, and keep a function stable for memoized children.1 problem
- lazy and Suspense Load a component only when it is needed, and show a fallback while it loads.1 problem
- Rendering Less Long lists: paginate or window them, and keep typing responsive with useTransition and useDeferredValue.1 problem
-
- Pro
Unit 8:App Summit
Component architecture, a tiny router, error boundaries, testable UI and the boss board.
- Thinking in React From a mockup to an app: split it into components, build it static, find the minimal state, place it, add inverse data flow.1 problem
- A Tiny Router Pages from state: a current path, a Link that navigates without reloading, a not-found page, and context to share it.1 problem
- Error Boundaries Contain a crash: what boundaries catch, where to place them, and fallbacks with a retry.1 problem
- Testing Mindset Test what users see and do: roles and accessible names, behavior over implementation, and how this course grades you.1 problem
- Boss: The Task Board Everything at once: a reducer, derived counts, filtering, context, and persistence that survives a remount.2 problems
-
Start React Mastery for free
Enroll for free and units 1 and 2 are yours. DevArcade Pro opens every unit of every course, including new ones as they launch, monthly or yearly.