React Guide

React is a JavaScript library for building user interfaces out of small, reusable components. You describe what the screen should look like for a given state, and React updates the page when that state changes. That one idea explains most of what you need to learn: components, props, state, and the hooks (such as useState and useEffect) that let a function component remember things and react to changes.

A sensible order is to get comfortable with plain JavaScript first, build a few small components, learn how data flows down through props and how state lives in the nearest common parent, and only then add the surrounding ecosystem: routing, forms, data fetching, a state manager when local state gets awkward, and a framework such as Next.js when you need server rendering. Most of the frustration people report with React comes from adding tools before the problem that needs them has shown up.

The reading list below follows the same order. Start with the fundamentals, move on to building real interface pieces, then look at state management, tooling and testing, and finish with full-stack apps. The articles are written as step-by-step tutorials, so they work best if you follow along in an editor. Check the publish date on older posts: library versions move quickly and some APIs have changed since they were written.

Reading list

Fundamentals and hooks

Start here to get a feel for components and hooks, and for keeping a React app fast.

Building interface pieces

Hands-on tutorials for the components almost every app needs.

State management

When component state is no longer enough, these cover MobX and Redux.

Tooling and testing

Testing approaches, cleaner imports and component-driven development.

Next.js and full-stack apps

Larger projects that combine React with a framework, a database or an authentication service.

Want more? Browse every article in the React category.