React Reference Overview

This section provides detailed reference documentation for working with React. For an introduction to React, please visit the Learn section.

The React reference documentation is broken down into functional subsections:

Rules of React

React has idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications:

  • Components and Hooks must be pure – Purity makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly.
  • React calls Components and Hooks – React is responsible for rendering components and hooks when necessary to optimize the user experience.
  • Rules of Hooks – Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called.

React

Programmatic React features:

  • Hooks - Use different React features from your components.
  • Components - Documents built-in components that you can use in your JSX.
  • APIs - APIs that are useful for defining components.
  • Directives - Provide instructions to bundlers compatible with React Server Components.

React DOM

React-dom contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following:

  • Hooks - Hooks for web applications which run in the browser DOM environment.
  • Components - React supports all of the browser built-in HTML and SVG components.
  • APIs - The react-dom package contains methods supported only in web applications.
  • Client APIs - The react-dom/client APIs let you render React components on the client (in the browser).
  • Server APIs - The react-dom/server APIs let you render React components to HTML on the server.

Legacy APIs

  • Legacy APIs - Exported from the react package, but not recommended for use in newly written code.