📦
React 18

Automatic Batching

React 18 agrupa múltiplos setState em um único re-render, mesmo em async/promises/setTimeout.

Definição

Automatic Batching é uma feature do React 18 onde múltiplas chamadas de setState dentro do mesmo evento (incluindo async, promises, timeouts) são agrupadas em um único re-render. No React 17, batching só ocorria em event handlers React.

🔴 Problema

Em React 17, setState dentro de fetch/setTimeout/Promise causava múltiplos re-renders, prejudicando performance.

Solução

React 18 detecta automaticamente e agrupa. Para forçar render imediato (raríssimo), use flushSync.

💡 Dica Senior

Se algum código depende do comportamento antigo (sem batching), use flushSync. Mas é raro — normalmente batching é o que você quer.

Perguntas de Entrevista

46/48