Automatic Batching

React 🟡 Mid

Définition

Depuis React 18, React regroupe automatiquement plusieurs mises à jour d'état en un seul re-rendu, y compris dans les callbacks asynchrones, les promesses et les timeouts. Ce comportement est acquis : la version stable actuelle est React 19.3 (9 septembre 2026). React 19.3 étend même le batching aux événements resize.

Analogie

Comme un facteur qui attend d'avoir tout le courrier du quartier avant de faire sa tournée, au lieu d'un aller-retour par lettre.

Exemple de code

// React 18: un seul re-rendu pour les deux
async function handleClick() {
  const data = await fetchData();
  setName(data.name);  // batch
  setAge(data.age);    // batch -> 1 seul rendu
}

Cas d'usage

Comportement par défaut de toute racine créée avec createRoot : aucune intervention du développeur, un seul rendu par lot de setState.

Anti-pattern

Utiliser flushSync pour forcer un rendu synchrone sans besoin réel (mesure DOM impérative), ce qui annule le gain du batching.
#core#performance#react19

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre