Virtual DOM DOM virtual

Última atualização: 2026-11-03

Virtual DOM DOM virtual

O DOM virtual é uma árvore leve de objetos JavaScript comuns que o React mantém na memória para descrever a interface real. Quando o estado muda, o React primeiro calcula uma nova árvore, a compara com a antiga e só então aplica no DOM real as diferenças encontradas, de modo que a tela seja atualizada com o menor custo possível. Esse fluxo em duas etapas é o coração do modelo de renderização do React.

GrupoConceitos Básicos
TipoPadrão
DesdePrimeiras versões do React

ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.

📝 Sintaxe

O estado muda
  → A função do componente roda de novo e produz uma nova árvore de DOM virtual
  → Diff: as árvores antiga e nova são comparadas nível a nível para encontrar as diferenças
  → Commit: apenas essas diferenças são aplicadas no DOM real

Retorna:Sem valor de retorno — uma convenção de código e um modelo mental.

▶ Exemplo

O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.

Saída:

Duas linhas centralizadas — "Number" e "re-rendered N times" — mais um botão. Cada clique aumenta os dois números enquanto o resto da página fica parado, o que mostra que "a função roda de novo, o DOM só atualiza o diff".

💡 Pontos-chave

ℹ️ Informação O DOM virtual é um meio de implementar UI declarativa, não uma bala de prata de performance; o diff também segue heurísticas, como comparar irmãos no mesmo nível.
💡 Dica Chaves estáveis afetam diretamente a qualidade do diff: uma chave estável permite que o React reaproveite nós existentes e evite trabalho desnecessário.
⚠️ Aviso Nunca manipule o DOM real manualmente dentro de uma função de render — isso contorna o mecanismo de atualização do DOM virtual e deixa o estado e a interface fora de sincronia.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

P O DOM virtual é sempre mais rápido do que manipular o DOM diretamente?
R Nem sempre. Uma única operação de DOM ajustada à mão pode ser mais rápida; o valor do DOM virtual está em manter rápidas e manuteníveis muitas atualizações frequentes, com uma carga mental muito menor.
P Como funciona o algoritmo de diff do React?
R Ele usa heurísticas: elementos de tipos diferentes são reconstruídos, elementos do mesmo tipo têm apenas os atributos alterados atualizados e listas de irmãos são casadas por key para decidir se um nó deve ser reaproveitado, movido ou removido.
P O que a key tem a ver com o DOM virtual?
R Ao diferenciar uma lista, o React usa a key para parear nós antigos e novos um a um; uma chave estável reaproveita os nós corretamente, enquanto usar o índice pode atualizar o item errado.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%