React
Learn React by typing real components and hooks.
Build React fluency by typing the patterns you ship: functional components, useState and useEffect, custom hooks, context, and clean JSX. Every snippet is real component code, and an AI tutor walks each line — why an effect's dependency array matters, when a ref beats state — so the mental model and the keystrokes land together.
Progress0 / 156 solved · 0/13 sections
best wpm
0
avg wpm
0
accuracy
0%
runs
0
level
1
rating
1000
Run React on your machine
1. Install the toolchain
npm create vite@latest my-app -- --template react-ts2. Save your code as App.tsx, then compile & run
cd my-app && npm install && npm run devprogress by section
1Fundamentals0/5start →
2Components & JSX0/14start →
3Props0/12start →
4State0/15Unlock →
useState with a booleanuseState with a numberuseState with a stringMultiple state variablesResetting stateToggling a booleanuseState with an arrayuseState with an objectUpdating arrays immutablyControlled input stateDerived stateFunctional updatesLazy initial stateUpdating objects immutablyState with a typed union
5Effects0/12Unlock →
6Lists & Rendering0/12Unlock →
7Refs0/10Unlock →
8Context0/12Unlock →
9useReducer0/10Unlock →
10Custom Hooks0/14Unlock →
11Performance0/12Unlock →
12Forms & Events0/14Unlock →
Controlled inputReset a formSubmit with preventDefaultControlled textarea and selectControlled checkbox and radioDisable submit until validParse a number inputTyped onChange eventForm state as one objectValidation and error messageUncontrolled with FormDataOne handler, many fieldsDebounced search inputuseActionState (React 19)