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
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.Tooling
Scaffold and run a React project locally before worrying about anything else.
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.Hooks
Hooks are how functional components get state, side effects, and access to React's internals.
Routers
Map URLs to screens once your app has more than one view.
State Management
Once state needs to be shared across components, reach for a dedicated tool instead of prop-drilling.
Writing CSS
Style components using utility CSS, CSS-in-JS, or a pre-built component library — pick one lane per project.
API Calls
Fetch, cache, and sync server data — REST or GraphQL, plus a data-fetching layer on top.
Testing
Prove components render and behave correctly, from unit tests up to full end-to-end flows.
Frameworks & Advanced Topics
Layer on a meta-framework, forms, typing, animation, and the more advanced rendering APIs.
GitHub Projects
Real, buildable projects to put on your own GitHub
Vite + React Starter
Scaffold a project with Vite and build a small multi-component app from scratch — the fastest way to lock in JSX, props, and state.
State-Managed To-Do App
Build a to-do or kanban board backed by Zustand or Context, then swap in Redux Toolkit to see how a larger state layer feels.
Next.js Blog / Dashboard
Fork a Next.js starter and extend it with your own routes, data fetching, and layouts to practise the framework layer of React.
API-Driven Dashboard
Pull data from a public REST or GraphQL API with Tanstack Query, add loading and error states, and cover it with react-testing-library.
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