Skill Roadmap

React

React is the most widely used library for building user interfaces on the web. This roadmap walks you from JSX and functional components through hooks, routing, state management, styling, data fetching, testing, and the meta-frameworks built on top of it — the same ground almost every React job posting covers.

What skills does a React developer need?

JavaScript first, then the React-specific layer on top

React is a library, not a framework, so the skills stack in layers. Before touching React you should be comfortable with the beginner topics of the JavaScript roadmap — variables, functions, arrays, and asynchronous code. From there, React itself is about learning components, JSX, and hooks, and understanding how data flows through props and state.

Beyond the core library, real-world React work pulls in a wider ecosystem: a router for navigation, a state management tool for anything beyond local component state, a way to fetch and cache API data, and a styling approach that fits the team. Most production teams also expect familiarity with TypeScript and a testing library.

Many teams now reach for a meta-framework like Next.js rather than a bare React + Vite setup, so it's worth knowing when a framework is worth the extra structure and when a lighter setup is enough.

The React Roadmap

Work through these roughly in order — steps 5 onward can be learned in any order once you know hooks

STEP 1
JavaScript logo

JavaScript Fundamentals

React is JavaScript. Get comfortable with the language before layering a library on top of it.

Make sure to learn the "Beginner" topics of the JavaScript roadmap before you start learning React.
JavaScript Roadmap
STEP 2
Vite logo

Tooling

Scaffold and run a React project locally before worrying about anything else.

Vite CLI Tools
STEP 3
React logo

Components

Learn functional components and everything that governs how they render and communicate.

"Class Components" used to exist but React no longer recommends them — you might still see them in legacy projects.
Functional Components JSX Props vs State Conditional Rendering Composition Rendering Component Lifecycle Lists and Keys Render Props Refs Events Higher Order Components
STEP 4

Hooks

Hooks are how functional components get state, side effects, and access to React's internals.

Basic Hooks
useState useEffect
Common Hooks
useCallback useRef useReducer useMemo useContext
Going further
Creating Custom Hooks Hooks Best Practices
STEP 5

Routers

Map URLs to screens once your app has more than one view.

STEP 6

State Management

Once state needs to be shared across components, reach for a dedicated tool instead of prop-drilling.

Context Zustand Jotai MobX
STEP 7

Writing CSS

Style components using utility CSS, CSS-in-JS, or a pre-built component library — pick one lane per project.

Styling Approach
Tailwind CSS Panda CSS CSS Modules
Component Libraries
Headless Components
STEP 8

API Calls

Fetch, cache, and sync server data — REST or GraphQL, plus a data-fetching layer on top.

STEP 9

Testing

Prove components render and behave correctly, from unit tests up to full end-to-end flows.

STEP 10
Next.js logo

Frameworks & Advanced Topics

Layer on a meta-framework, forms, typing, animation, and the more advanced rendering APIs.

Types & Validation
Server APIs
Suspense Portals Error Boundaries
Mobile

GitHub Projects

Real, buildable projects to put on your own GitHub

Frequently Asked Questions

Common questions from people starting out with React

Is React a framework or a library?

React itself is a library focused on building UI components — it doesn't dictate routing, data fetching, or project structure. Teams typically pair it with a router and a state management tool, or reach for a meta-framework like Next.js that bundles those decisions in.

Do I need to learn class components?

Not to write new code — React's official guidance is functional components with hooks. It's still worth being able to recognise class components, since plenty of legacy codebases still use them.

Should I learn Redux?

Not as a first step. Start with Context and a lighter library like Zustand for shared state, and only reach for something like Redux Toolkit once a project's state needs genuinely outgrow the simpler tools.

What's the difference between React and React Native?

React targets the browser DOM, while React Native uses the same component and hook model to render native mobile UI on iOS and Android. Core React concepts transfer directly; the platform-specific APIs and styling do not.

Do I need TypeScript to get a React job?

Not universally required, but it's increasingly expected. Most production React codebases at established companies are written in TypeScript, so it's worth learning early rather than bolting on later.

How do I prepare for a React interview?

Be solid on JSX, props versus state, and the common hooks, be able to explain re-renders and the component lifecycle, and have at least one project — ideally with routing, API calls, and tests — that you can walk through in detail.

Track complete

From JSX to a working framework — that's the core of what employers expect from a React developer. Keep building, and let the ecosystem tools you enjoy most pull you toward the next roadmap.

Where next?

Keep exploring by domain or drill into a single skill