React
- Category
- Frameworks and libraries
- Latest
- 19.3.1
- Released
- Oct 14, 2026
- Docs outline
- 17 sections
Official docs outline
react.dev- Thinking in React
Breaking a UI into a component hierarchy, building a static version, finding the minimal state, and deciding where state lives with one-way data flow.
- Components, JSX and props
Defining function components, importing and exporting them, writing JSX markup, embedding JavaScript with curly braces, and passing props including children.
- Conditional rendering and lists
Rendering with if, ternary and && , mapping arrays to elements, and choosing stable keys for list items.
- Keeping components pure
Pure render functions without side effects, local mutation, StrictMode double rendering, and why rendering must be idempotent.
- Your UI as a tree
The render tree and module dependency tree, how components nest, and how bundlers relate to them.
- Events and state
Event handlers, useState hook, local component memory, and re-rendering on state change.
- Render and commit
The trigger, render and commit phases, how React updates the DOM, and when the browser paints.
- State as a snapshot and update queues
State as a snapshot per render, batching, updater functions, queued updates, and immutably updating objects and arrays in state.
- Choosing state structure
Reacting to input with declarative state, avoiding redundant or contradictory state, deriving values, flattening nested state, and avoiding duplication.
- Lifting state up and preserving/resetting state
Lifting state to a common parent, controlled vs uncontrolled components, and how position and key preserve or reset state.
- Reducers
Consolidating state logic with useReducer, actions and dispatch, pure reducer functions, and Immer.
- Context
Avoiding prop drilling with createContext and useContext, providers, and scaling up by combining reducer and context.
- Refs
useRef for values that do not trigger renders, and manipulating DOM nodes with ref callbacks, forwardRef, and flushSync.
- Synchronizing with Effects
useEffect, setup and cleanup, dependency arrays, synchronizing with external systems, and handling double-invoked effects in development.
- You might not need an Effect
Replacing effects with derived values, memoization, event handlers and key resets; data fetching pitfalls and race conditions.
- Effect lifecycle and dependencies
Reactive values and dependencies, separating events from effects with useEffectEvent, and removing unnecessary dependencies.
- Custom Hooks
Extracting reusable stateful logic into use-prefixed hooks, sharing logic not state, and passing reactive values between hooks.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.
Versions and support
5 release lines| Line | Released | Latest | Support |
|---|---|---|---|
| 19 | Dec 5, 2024 | 19.3.1 | Supported |
| 18 | Mar 29, 2022 | 18.3.1 | Supported |
| 17 | Oct 20, 2020 | 17.0.2 | Supported |
| 16 | Sep 26, 2017 | 16.14.0 | Supported |
| 15 | Apr 7, 2016 | 15.7.0 | Supported |
Source: endoflife.date