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.
| Grupo | Reatividade: Avançado |
|---|---|
| Tipo | API |
| Escopo | No Componente |
| Versão do Vue | 3.0+ |
| Suporte a SSR | Sim |
📝 Sintaxe
big.value.list.push(1) // não dispara
triggerRef(big) // dispara manualmente
⚙️ Argumentos
| shallowRef | O 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.
🏷️ Avançado relacionados
💡 Casos Relacionados
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.