$derived.by para derivações complexas
Calcule valores derivados com lógica arbitrária usando a forma de retorno de chamada de $derived.
$derived.by para derivações complexas é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 2 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.
Derivações com várias instruções
Para valores derivados que precisam de mais de uma expressão, use a forma de função de retorno.
let result = $derived.by(() => {
if (count > 10) return "high";
if (count > 5) return "medium";
return "low";
});A mesma reatividade
A função de retorno rastreia as dependências da mesma forma que um $derived com uma única expressão.
Mais legibilidade
Para lógicas complexas, a forma .by é mais clara do que concentrar tudo em uma única expressão.
Laços e ramificações
É possível usar laços for, if-else e let dentro da função de retorno.
Funções puras
Assim como $derived, .by deve ser pura. Não são permitidos efeitos colaterais.
Memorização
O resultado fica armazenado em cache até que as dependências mudem.
Evite trabalho pesado
Se o cálculo for caro, considere armazená-lo em cache fora da derivação.
Inferência tipada
O TypeScript infere o tipo de retorno a partir da função de retorno.
Combinar com $effect
Use $derived.by para valores calculados e $effect para efeitos colaterais. Mantenha-os separados.
Migração
Converta blocos $: aninhados em um único $derived.by para obter um código mais claro.
Mundo real
Útil para filtrar e ordenar listas, calcular métricas agregadas e aplicar formatação condicional.
Verificação rápida
Quando usar $derived.by?
Recapitulação
Use $derived.by(() => ...) para valores calculados em várias etapas, com ramificações ou laços.
Perguntas Frequentes
A aula “$derived.by para derivações complexas” é grátis?
Sim — o texto completo de “$derived.by para derivações complexas” é 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 “$derived.by para derivações complexas”?
Calcule valores derivados com lógica arbitrária usando a forma de retorno de chamada de $derived. 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 2 de 4.
Quanto tempo leva a aula “$derived.by para derivações complexas”?
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