Renderização | React
- Renderização | React

🧩 Como o React atualiza a interface: Fases do ciclo de renderização
🔁 1. Render is Triggered
Quando algo muda — como um useState, useReducer ou props — o React dispara o processo de renderização:
setCount(count + 1);
🧠 2. Render Phase (Virtual DOM entra em ação aqui)
Nessa fase:
- React chama os componentes afetados (executa suas funções).
- Um novo Virtual DOM é gerado com base nos dados atuais.
- O React compara o novo Virtual DOM com o anterior usando o algoritmo de "diff".
- Nenhuma mudança real acontece no DOM do navegador ainda.
🧠 Virtual DOM é uma árvore de objetos JS que representa a estrutura do DOM, usada para calcular as mudanças com eficiência, sem afetar diretamente o DOM real.
✅ 3. Commit Phase
Aqui o React:
- Aplica as mudanças calculadas no DOM real.
- Executa efeitos (
useEffect,ref,componentDidMount, etc). - Atualiza o layout e estrutura visual com base no que mudou no VDOM.
Essa é a única fase que de fato altera a interface visível.
🎨 4. Browser Paint
Após o commit:
- O navegador realiza o repaint — ou seja, exibe as mudanças visuais ao usuário.
📝 Resumo geral:
| Fase | O que acontece |
|---|---|
| Render Triggered | Alguma mudança de estado/props ativa nova renderização |
| Render Phase | Geração e comparação do novo Virtual DOM com o antigo |
| Commit Phase | React escreve no DOM real com base nas diferenças do VDOM |
| Browser Paint | O navegador exibe as mudanças visuais ao usuário |
⚠️ Observação importante
Em React, "renderizar" não significa atualizar o DOM visível.
O processo de renderização acontece internamente, no Virtual DOM.
Só na fase de commit que mudanças visuais reais ocorrem.