Automatic Batching
React 🟡 MidDé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.
Termes liés
Fiche mise à jour le 2026-09-27