Intermediate
React
Learn React from zero. Components, state, hooks, context, performance, routing, testing, and a capstone app.
17 lessons10.2h hands-on11 languages
Start learning freeReact course17 lessons, in order
- 125 min
What is React?
What React isComponents as functionsVirtual DOM intuitionRendering JSXCreating a Vite app - 230 min
JSX and Components
JSX syntax rulesSingle root elementClassName vs classEmbedding expressions with {}Defining componentsComposing components - 330 min
Props
Passing props as attributesReceiving props objectDestructuring props in signatureDefault valuesThinking about prop shapes - 435 min
State with useState
UseState hookReading stateCalling the setterUpdater function formNever mutate stateCounter pattern - 530 min
Handling Events
OnClick handlerOnChange basicsPassing functions vs calling themEvent objectPassing handlers as props - 630 min
Conditional Rendering and Lists
&& for show/hideTernary for either/orMapping arrays to JSXThe key propWhy keys need to be stable - 735 min
Forms and Controlled Inputs
Controlled input patternValue and onChange togetherMulti-field form stateOnSubmit and preventDefaultGathering form data - 840 min
Effects with useEffect
What counts as a side effectUseEffect signatureDependency arrayRunning on mount onlyCleanup functionSubscribe/unsubscribe pattern - 935 min
Component Composition
Children propWrapping componentsPassing JSX as propsLifting state upThinking in component trees - 1035 min
Context and useContext
CreateContextContext.ProviderUseContextWhen context is the right toolContext vs prop drilling tradeoffs - 1135 min
useReducer
When to reach for useReducerReducer function shapeAction objectsDispatchCombining useReducer with useContext - 1235 min
Custom Hooks
Extracting stateful logic into a functionUse prefix conventionUseToggle exampleUseLocalStorage exampleHooks rules - 1335 min
Performance and Memoization
React.memo for componentsUseMemo for expensive computationsUseCallback for stable function referencesWhen memoization is overkillMeasuring before optimizing - 1440 min
Data Fetching
Fetch inside useEffectLoading/error/data statesAbortController cleanupPreventing setState after unmountMention TanStack Query as a next step - 1540 min
Routing with React Router
Installing react-router-domBrowserRouterRoutes and RouteLink for navigationUseParamsUseNavigate - 1640 min
Testing React Components
Vitest + React Testing Library setupRender and screenGetByRole queriesUserEvent for interactionsWriting one good button test - 1760 min
Capstone: Todo App
Combining state, lists, controlled inputsCustom hook for localStorage persistenceSmall routing setupPutting it together
Learn React in your language
Every lesson, quiz, and tutor reply renders in your language. The AI tutor matches the language you ask in.
Learn React in EnglishAprende React en españolAprenda React em portuguêsتعلّم React بالعربيةReact را به فارسی یاد بگیریدApprenez React en françaisReact हिन्दी में सीखें用中文学习 ReactPelajari React dalam bahasa IndonesiaИзучайте React на русскомReact auf Deutsch lernen
