Programming Academy
Learn React, the library behind Instagram, Netflix and thousands of apps: components in JSX, props and state, events and forms, lists and effects, every hook up to React 19's newest, then real apps, live on the page.
66 lessons, about 460 minutes so far · the first 3 lessons free
66 lessons
What React is, your first component in App.jsx, JSX (HTML inside JavaScript), components of your own, values in curly braces, and reading React's errors.
Write the page in JSX: values in curly braces, attributes and className, style objects, fragments, and showing things only when they should show.
Build pages from small parts: components that take props, destructuring, default values, children, and reusing one component many times.
Make components remember: useState for numbers, text and true/false, several pieces of state, and updating objects and arrays the right way.
Respond to people: click handlers, controlled text boxes, checkboxes and selects, forms that don't reload, and checking what's typed.
Show lists made from arrays with map and key, filter and sort them, and add and remove items.
Run code after React draws: useEffect and its dependencies, timers and cleanup, values worked out from state, and useRef.
Lift state up to a parent, pass functions down as props, and build apps from components that work together.
Share values without passing props through every level with createContext and useContext, and manage bigger state with useReducer, then use both together.
Skip work React doesn't need to redo with useMemo, useCallback and memo, write custom hooks of your own, and make ids with useId.
The rest of React's hooks: useLayoutEffect, useImperativeHandle, useTransition, useDeferredValue and useSyncExternalStore, and when each one is the right tool.
What's new in React 19: use for promises and context, form actions with useActionState and useFormStatus, instant updates with useOptimistic, and useEffectEvent.
Put it all together: a to-do app, a shopping cart, a quiz, tabs and an accordion, and a stopwatch.