triggerRef() Disparar manualmente a atualização de um ref superficial

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

triggerRef() Disparar manualmente a atualização de um ref superficial

triggerRef() dispara manualmente os efeitos colaterais ligados a um shallowRef: é a válvula de escape quando o Vue não consegue rastrear alterações internas.

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

📝 Sintaxe

big.value.list.push(1)  // não dispara
triggerRef(big)          // dispara manualmente

⚙️ Argumentos

shallowRefO ref superficial que precisa disparar a atualização

Retorno:Nada

▶ Exemplo

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

Saída:

Each click increments the length (without triggerRef it would stay at 1).

💡 Pontos-chave

⚠️ Aviso Só é necessário em refs superficiais / reativos superficiais: refs comuns profundos rastreiam automaticamente, sem necessidade de disparo manual.
ℹ️ Nota Depois que fontes de dados mutáveis externas (como o estado interno de bibliotecas de terceiros) mudam, use-o para sincronizar com a UI.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Dá para substituir a substituição completa?
R Dá, mas a substituição completa tem semântica mais clara e está mais alinhada ao modelo mental reativo; triggerRef é um recurso de correção.
P Qual o efeito de usá-lo em um ref comum?
R Funcionalmente também dispara uma atualização, mas geralmente é desnecessário.
P Provoca renderizações extras?
R Sim: dispara os efeitos colaterais relacionados a cada chamada; tenha cuidado com chamadas frequentes.
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%