$effect.root para limpeza manual
Crie uma raiz de efeito para controlar quando os efeitos são iniciados e interrompidos.
$effect.root para limpeza manual é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Sveltejs Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Sveltejs Academy inclui 4 aulas no total.
Efeitos fora dos componentes
$effect só funciona dentro dos ciclos de vida de componentes. Para efeitos em todo o aplicativo, use $effect.root.
Criar um root
$effect.root retorna uma função teardown.
const teardown = $effect.root(() => {
$effect(() => { /* ... */ });
});Ciclo de vida manual
Você decide quando o efeito root para; chame a teardown retornada para fazer a limpeza.
Casos de uso
Tarefas em segundo plano, inscrições globais e scripts que se estendem para além de um único componente.
Efeitos aninhados
Dentro de um root, é possível declarar chamadas comuns de $effect.
Substituição de stores
$effect.root combinado com $state pode substituir muitos padrões de store no nível do módulo.
Composição da limpeza
Retornar funções de limpeza de efeitos internos funciona como esperado.
Configuração de testes
Útil em testes para executar código reativo fora de um componente.
Consciência de SSR
$effect.root respeita SSR; os efeitos não são executados no servidor.
Comparação com onMount/onDestroy
$effect.root + teardown é o equivalente moderno para efeitos entre componentes.
API avançada
Apenas para usuários avançados — a maior parte do código de aplicativos usa $effect dentro dos componentes.
Verificação rápida
Quando usar $effect.root?
Recapitulação
$effect.root executa efeitos fora do escopo do componente. A função retornada os encerra quando necessário.
Perguntas Frequentes
A aula “$effect.root para limpeza manual” é grátis?
Sim — o texto completo de “$effect.root para limpeza manual” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Sveltejs Academy, atualize para CoddyKit PRO. O curso de Sveltejs Academy inclui 4 aulas no total.
O que vou aprender em “$effect.root para limpeza manual”?
Crie uma raiz de efeito para controlar quando os efeitos são iniciados e interrompidos. Você pratica Sveltejs Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Sveltejs Academy?
Nenhuma experiência prévia é necessária. Sveltejs Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “$effect.root para limpeza manual”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Sveltejs Academy?
Sim. Cada aula de Sveltejs Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- $state.raw para estado não reativo
- $derived.by para derivações complexas
- $effect.root para limpeza manual
- Migrando do Svelte 4 para o 5