React
Build fast, component-based user interfaces with the most popular UI library.
React lets you describe your UI as small, reusable components. Start with Vite, JSX, props and state; add forms, effects and data fetching; master hooks, context, reducers, routing and styling; then go professional with React 19 Actions, TanStack Query, state libraries, testing, performance, TypeScript, accessibility, deployment and a first look at Next.js and Server Components. Everything uses modern React 19 with function components and hooks.
30 lessons ~7 h 58 min Beginner → Advanced
What you’ll learn
- Create and structure a React 19 + Vite project, and explain how rendering works
- Write components with JSX, props, state, events, conditional rendering and lists
- Build controlled forms and synchronise with the outside world using effects
- Fetch data correctly, and extract logic into reusable custom hooks
- Manage complex state with useReducer, context, Zustand or Redux Toolkit
- Add routing with React Router, error boundaries, Suspense and code splitting
- Use React 19 Actions, useActionState, useOptimistic and use()
- Cache and sync server data with TanStack Query
- Test components with Vitest and React Testing Library, and profile performance
- Ship accessible, type-safe apps with TypeScript and deploy them to production
Syllabus
5 modules · 30 lessons- 1What is React?Components, declarative UI, the virtual DOM idea and when to use React. 12 min
- 2Setting up with ViteCreate a React project with Vite, tour the files, run the dev server and build for production. 14 min
- 3JSX in depthExpressions in braces, attributes, fragments, styles, comments and how JSX compiles. 14 min
- 4Components & propsSplit UI into components, pass data down with props, children and default values. 15 min
- 5Responding to eventsonClick and friends, passing handlers as props, event objects, preventDefault and propagation. 13 min
- 6State with useStateAdding memory to components, re-renders, state as a snapshot, updater functions and immutable updates. 18 min
- 7Conditional renderingif, ternaries, && and early returns — showing the right UI for each state. 12 min
- 8Lists & keysRender arrays with map, choose good keys, filter and sort — plus a first look at effects. 14 min
- 9Forms & controlled inputsText, checkbox, select and radio inputs, controlled vs uncontrolled, validation and submission. 18 min
- 10useEffect & the component lifecycleMount, update and unmount, dependency arrays, cleanup, Strict Mode and when not to use effects. 18 min
- 11Fetching dataLoad data with loading and error states, avoid race conditions with AbortController, and know when to reach for a library. 16 min
- 12useRef: refs & the DOMFocus inputs, measure elements, store mutable values without re-rendering, and ref as a prop in React 19. 14 min
- 13useContext & contextShare values like theme and the current user without prop drilling, and avoid unnecessary re-renders. 15 min
- 14useReducerMove complex state logic into a reducer with actions, and combine it with context. 16 min
- 15Custom hooksExtract reusable stateful logic into your own use… functions: useLocalStorage, useFetch, useDebouncedValue and more. 15 min
- 16Lifting state & composition patternsSingle source of truth, controlled components, children and slots, compound components and render props. 16 min
- 17Styling React appsPlain CSS, CSS Modules, conditional classes and Tailwind CSS v4 with Vite. 15 min
- 18Routing with React RouterPages, links, nested layouts, URL params, search params, loaders and 404s. 20 min
- 19useMemo, useCallback & memoHow re-rendering works, when memoisation helps, and what the React Compiler does for you. 16 min
- 20Error boundariesCatch rendering errors, show fallback UI, reset after errors and report them. 12 min
- 21Suspense & lazy loadingCode-split with lazy(), show fallbacks with Suspense, and keep UI responsive with transitions. 15 min
- 22React 19: Actions, useActionState, useOptimistic & useForm actions, pending states with useFormStatus, optimistic updates, the use() API and other React 19 changes. 20 min
- 23State management: Zustand & Redux ToolkitWhen local state and context are not enough: global stores with Zustand and Redux Toolkit. 18 min
- 24Server state with TanStack QueryQueries, caching, background refetching, mutations, invalidation and optimistic updates. 18 min
- 25TypeScript with ReactTyping props, children, state, events, refs, context, reducers and generic components. 18 min
- 26Testing with Vitest & React Testing LibrarySet up Vitest, query the DOM like a user, simulate events, test async UI and mock fetch. 20 min
- 27Performance & React DevToolsProfile renders, fix slow components, virtualise long lists, split bundles and measure Web Vitals. 16 min
- 28Accessibility in ReactSemantic HTML, labels, keyboard support, focus management, ARIA and testing with assistive tech. 16 min
- 29Deploying React appsProduction builds, environment variables, SPA routing, and deploying to Vercel, Netlify and Firebase Hosting. 14 min
- 30Next.js & Server ComponentsWhy frameworks exist, the App Router, Server vs Client Components, Server Functions and rendering strategies. 20 min