shallowRef() Referência reativa superficial

Última atualização: 2026-10-22

shallowRef() Referência reativa superficial

shallowRef() só rastreia a substituição de .value e não cria proxy profundo dos objetos internos: só a substituição completa dispara atualização; alterações em propriedades internas não disparam.

GrupoReatividade: Avançado
TipoAPI
EscopoNo Componente
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

const big = shallowRef({ list: [] })
big.value = { list: [1] }   // ✅ dispara
big.value.list.push(2)     // ❌ não dispara (o interior não é proxy)

⚙️ Argumentos

valueQualquer valor inicial (objetos internos não recebem proxy profundo)

Retorno:Um objeto ref superficial

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

Pushing inside leaves the number unchanged; replacing the whole value shows 3.

💡 Pontos-chave

💡 Dica Adequado para grandes conjuntos de dados, instâncias de bibliotecas de terceiros e objetos de mapa/gráfico: só importa a substituição completa, sem necessidade de reatividade profunda.
⚠️ Aviso Alterações internas podem disparar manualmente com triggerRef, mas a substituição completa é mais recomendada.
ℹ️ Nota isShallow() permite verificar se um ref é superficial.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Quando é obrigatório usar shallowRef?
R Ao envolver grandes estruturas somente leitura (como grandes arrays vindos de APIs) que também serão substituídas por inteiro — economiza o custo de criação do proxy profundo.
P Por que a página não muda depois do push?
R Os objetos internos não têm proxy, então o Vue não consegue rastrear essa alteração; só a substituição completa de .value notifica a atualização.
P A diferença de desempenho em relação a ref(null) é grande?
R Para objetos grandes e profundos a diferença é evidente (elimina proxy recursivo e coleta de dependências); para objetos pequenos é desprezível.
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%