Learning path
React learning path: everything to study, topic by topic
Comprehensive React assessment covering component fundamentals, hooks, advanced patterns, state management, performance optimization, and expert-level internals including concurrent features and server components.
Short answer
To learn React, work through 6 modules and 35 topics in the order they build on each other. It starts with Component Fundamentals, then moves on to Hooks & State and Advanced Patterns. Use the map as a checklist, or measure your level and study only what is missing.
What you will study
Topics are grouped by module. Open one to see its objectives and key concepts.
1 · Component Fundamentals5 topics
JSX & Rendering
JSX syntax, expressions in JSX, React.createElement, virtual DOM basics, rendering lifecycle
Objectives
- Write valid JSX
- Understand the relationship between JSX and React.createElement
Key concepts
- JSX syntax
- expressions in JSX
- React.createElement
- virtual DOM
- ReactDOM.render
- fragments
- JSX vs HTML differences
Props & State
Component props, prop types, default props, state basics, lifting state up, immutability
Objectives
- Differentiate props from state
- Implement data flow between components
Key concepts
- props
- prop types
- default props
- state
- lifting state up
- immutability
- unidirectional data flow
- children prop
Event Handling
Synthetic events, event handlers, event binding, form events, event delegation in React
Objectives
- Handle user interactions correctly
- Understand synthetic event system
Key concepts
- synthetic events
- onClick
- onChange
- onSubmit
- event.preventDefault()
- event pooling
- passing arguments to handlers
Conditional Rendering & Lists
Conditional rendering patterns, list rendering with keys, key prop importance, fragment usage
Objectives
- Render content conditionally
- Render lists with proper keys
Key concepts
- ternary in JSX
- logical && operator
- if/else patterns
- Array.map()
- key prop
- index as key pitfalls
- fragments
Styling in React
CSS Modules, Tailwind CSS, styled-components, CSS-in-JS trade-offs, className patterns, and theme systems
Objectives
- Apply different styling strategies in React
- Evaluate CSS-in-JS trade-offs
Key concepts
- CSS Modules
- Tailwind CSS
- styled-components
- CSS-in-JS trade-offs
- Shadcn/UI
- className patterns
- theme systems
- responsive design in React
2 · Hooks & State4 topics
useState & useEffect
State management with useState, side effects with useEffect, dependency arrays, cleanup functions
Objectives
- Manage component state with useState
- Handle side effects correctly with useEffect
Key concepts
- useState
- useEffect
- dependency array
- cleanup function
- stale closures
- functional updates
- lazy initialization
useContext & useReducer
Context API basics, useContext hook, useReducer for complex state, dispatch patterns
Objectives
- Share state via Context
- Manage complex state with useReducer
Key concepts
- createContext
- useContext
- useReducer
- dispatch
- action types
- reducer pattern
- context + reducer combination
Custom Hooks
Extracting reusable logic into custom hooks, hook composition, naming conventions, testing hooks
Objectives
- Extract reusable logic into custom hooks
- Compose hooks effectively
Key concepts
- custom hook extraction
- hook composition
- use prefix convention
- shared stateful logic
- hook dependencies
- returning tuples vs objects
useRef & DOM Manipulation
useRef for DOM access and mutable values, forwardRef, useImperativeHandle, focus management
Objectives
- Access DOM elements with refs
- Distinguish ref from state for mutable values
Key concepts
- useRef
- ref.current
- forwardRef
- useImperativeHandle
- DOM access
- mutable ref values
- ref vs state
3 · Advanced Patterns6 topics
Composition Patterns
Component composition, children patterns, compound components, slots pattern, inversion of control
Objectives
- Design composable component APIs
- Prefer composition over inheritance
Key concepts
- children prop
- compound components
- slots pattern
- inversion of control
- composition vs inheritance
- specialization
- containment
Render Props & HOCs
Render prop pattern, higher-order components, pattern trade-offs, migration to hooks
Objectives
- Implement render props and HOCs
- Know when hooks replace these patterns
Key concepts
- render props
- higher-order components
- withRouter/connect patterns
- HOC pitfalls
- displayName
- hooks as replacement
Error Boundaries
Error boundary components, componentDidCatch, getDerivedStateFromError, fallback UIs, error recovery
Objectives
- Implement error boundaries for graceful error handling
- Know their limitations
Key concepts
- componentDidCatch
- getDerivedStateFromError
- fallback UI
- error recovery
- error boundary placement
- limitations (async, events)
Code Splitting & Lazy Loading
React.lazy, Suspense for code splitting, dynamic imports, route-based splitting, prefetching
Objectives
- Implement code splitting to reduce bundle size
- Use Suspense for loading states
Key concepts
- React.lazy
- Suspense
- dynamic import()
- route-based splitting
- component-based splitting
- prefetching
- loading states
Routing
Client-side routing with React Router v6, nested routes, dynamic segments, route loaders, and TanStack Router
Objectives
- Implement client-side routing with nested and dynamic routes
- Choose between routing libraries
Key concepts
- React Router v6
- createBrowserRouter
- nested routes
- dynamic segments
- route loaders
- Tanstack Router
- navigation guards
- URL parameters
Animation
Framer Motion, AnimatePresence, CSS transitions in React, GSAP integration, layout animations, and performance
Objectives
- Implement animations with Framer Motion
- Optimize animation performance in React
Key concepts
- Framer Motion
- AnimatePresence
- CSS transitions in React
- GSAP with React
- layout animations
- gesture animations
- spring physics
- performance considerations
4 · State Management5 topics
Context API at Scale
Context performance pitfalls, context splitting, provider composition, avoiding unnecessary re-renders
Objectives
- Scale Context API without performance degradation
- Split contexts effectively
Key concepts
- context splitting
- provider composition
- value memoization
- context selectors
- re-render prevention
- provider tree depth
Redux / Zustand
Redux Toolkit, slices, selectors, middleware, Zustand stores, comparing approaches
Objectives
- Implement global state with Redux Toolkit or Zustand
- Choose the right tool
Key concepts
- Redux Toolkit
- createSlice
- selectors
- middleware
- thunks
- Zustand create
- store subscriptions
- immer
Server State (React Query / SWR)
Data fetching with React Query/TanStack Query, SWR, caching, optimistic updates, invalidation
Objectives
- Manage server state with React Query/SWR
- Implement cache invalidation strategies
Key concepts
- useQuery
- useMutation
- cache invalidation
- optimistic updates
- stale-while-revalidate
- query keys
- prefetching
- infinite queries
Form State Management
Controlled vs uncontrolled inputs, React Hook Form, Formik, validation, complex form patterns
Objectives
- Build complex forms with proper state management
- Choose between form libraries
Key concepts
- controlled components
- uncontrolled components
- React Hook Form
- Formik
- validation
- field arrays
- form submission
- error handling
Form Libraries
React Hook Form, register and control, form validation with Zod/Yup, Formik basics, and field arrays
Objectives
- Build complex forms with React Hook Form
- Integrate schema validation with Zod or Yup
Key concepts
- React Hook Form
- register and control
- form validation (Zod/Yup)
- Formik basics
- controlled vs uncontrolled
- field arrays
- form state management
- server-side validation
5 · Performance & Testing4 topics
React Profiler & Optimization
React DevTools Profiler, identifying re-renders, component optimization strategies, why-did-you-render
Objectives
- Profile React applications
- Identify and fix unnecessary re-renders
Key concepts
- React Profiler
- DevTools flamegraph
- re-render identification
- component splitting
- state colocation
- why-did-you-render
Memoization (memo / useMemo / useCallback)
React.memo, useMemo, useCallback, when to memoize, memoization pitfalls
Objectives
- Apply memoization correctly
- Avoid premature memoization
Key concepts
- React.memo
- useMemo
- useCallback
- referential equality
- dependency arrays
- premature optimization
- memo comparison function
Testing (RTL / Jest)
React Testing Library, Jest, user-event, testing hooks, mocking, integration vs unit tests
Objectives
- Write tests following RTL best practices
- Test user interactions not implementation
Key concepts
- render
- screen
- user-event
- queries (getBy/findBy/queryBy)
- waitFor
- act()
- mock functions
- testing custom hooks
Accessibility
ARIA roles, semantic HTML in React, keyboard navigation, screen reader support, a11y testing
Objectives
- Build accessible React components
- Test for accessibility compliance
Key concepts
- ARIA roles
- aria-label
- semantic HTML
- keyboard navigation
- focus management
- screen readers
- axe-core
- eslint-plugin-jsx-a11y
6 · Expert React11 topics
React Internals (Fiber / Reconciliation)
Fiber architecture, reconciliation algorithm, virtual DOM diffing, commit phases, scheduler
Objectives
- Explain Fiber architecture
- Understand reconciliation and diffing algorithms
Key concepts
- Fiber nodes
- reconciliation
- virtual DOM diffing
- commit phase
- render phase
- work loop
- priority lanes
- scheduler
Concurrent Features (Suspense / Transitions)
Concurrent rendering, useTransition, useDeferredValue, Suspense for data fetching, streaming SSR
Objectives
- Leverage concurrent features for better UX
- Understand priority-based rendering
Key concepts
- concurrent rendering
- useTransition
- useDeferredValue
- Suspense for data
- streaming SSR
- selective hydration
- priority-based rendering
Server Components
React Server Components, client vs server boundaries, 'use client'/'use server', streaming, RSC payload
Objectives
- Architect applications with Server Components
- Understand the server/client boundary
Key concepts
- React Server Components
- use client directive
- use server directive
- server/client boundary
- RSC payload
- streaming
- zero-bundle-size components
Compiler & Build Optimization
React Compiler (React Forget), automatic memoization, build optimization, bundle analysis, tree shaking
Objectives
- Understand React Compiler optimizations
- Optimize build output for production
Key concepts
- React Compiler
- automatic memoization
- bundle analysis
- tree shaking
- dead code elimination
- module federation
- build optimization
Meta-Frameworks
Next.js App Router, server actions, Remix loaders, Astro islands, file-based routing, and deployment strategies
Objectives
- Architect applications using React meta-frameworks
- Compare framework trade-offs
Key concepts
- Next.js App Router
- server actions
- static vs dynamic rendering
- Remix loaders
- Astro islands
- file-based routing
- API routes
- deployment strategies
Portals & Advanced Patterns
createPortal, modal patterns, Suspense boundaries, startTransition, useDeferredValue, and concurrent patterns
Objectives
- Use portals for rendering outside the DOM hierarchy
- Apply concurrent React patterns effectively
Key concepts
- createPortal
- modal patterns
- tooltip positioning
- Suspense boundaries
- startTransition
- useDeferredValue
- flushSync
- concurrent patterns
React Compiler & Concurrent Features
Understanding React 19's compiler, automatic memoization, concurrent features (useTransition, Suspense), and rendering model
Objectives
- Explain what the React Compiler does and when it correctly elides manual memoization
- Identify tearing scenarios in concurrent rendering and apply appropriate mitigation strategies
Key concepts
- React Compiler
- automatic memoization
- useTransition
- useDeferredValue
- Suspense boundaries
- concurrent rendering
- tearing prevention
Advanced State Architecture
Designing scalable React state architectures using Zustand, Jotai, Valtio, or atomic state patterns for complex applications
Objectives
- Design a state architecture that minimizes re-renders and scales across a large application
- Evaluate atomic state libraries against Redux-style stores for a given problem shape
Key concepts
- atomic state
- Zustand slices
- Jotai atoms
- Valtio proxy
- state normalization
- derived state
- subscription optimization
- state machines (XState)
React Performance Profiling at Scale
Using React DevTools Profiler, useMemo/useCallback audit, virtualization strategies, and bundle analysis to eliminate React bottlenecks
Objectives
- Use React DevTools Profiler flame charts to identify costly render paths
- Apply virtualization and memoization audit techniques to eliminate bottlenecks in large lists and complex trees
Key concepts
- React Profiler
- flame charts
- commit phases
- memo audit
- windowing (react-window)
- bundle analysis
- hydration performance
- Interaction to Next Paint
Server Components & Streaming Architecture
Building React Server Component architectures with streaming, partial hydration, and server/client composition patterns
Objectives
- Design a component tree that correctly places server/client boundaries to maximize RSC benefits
- Implement streaming SSR with Suspense to progressively deliver content and improve TTFB
Key concepts
- React Server Components
- 'use client' directive
- streaming SSR
- Suspense for data
- partial hydration
- client-server boundary
- serialization constraints
React Native Cross-Platform Patterns
Building cross-platform React Native applications: shared codebases, platform-specific optimizations, and native module bridges
Objectives
- Design a shared React Native codebase that handles platform-specific UI and behavior without forking logic
- Explain the React Native New Architecture (JSI, Fabric, TurboModules) and its performance implications
Key concepts
- New Architecture (JSI)
- Fabric renderer
- TurboModules
- platform-specific files
- Hermes engine
- CodePush
- Expo managed vs bare workflow
Levels: Junior, Mid, Senior, and Expert
Explain it in your own words
Graded by AI · no account · 1 questionNo options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.
Already studying React?
The assessment measures topic by topic, and your plan skips what you already know.
Open to read. An account is only needed to be measured.
Frequently asked questions
Where should I start studying React?
Start with Component Fundamentals: JSX & Rendering, Props & State, and Event Handling. The map orders topics by what they depend on, so each one prepares the next.
How long does a full React assessment take?
A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.
Do I need an account to use this page?
No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.