{#each} aninhado e atualizações por chave
Gerencie listas aninhadas e garanta atualizações eficientes do DOM com blocos each com chave.
{#each} aninhado e atualizações por chave é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 4 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.
Duas dimensões
Aninhe blocos {#each} para renderizar tabelas, grades ou árvores.
{#each rows as row, i}
<tr>
{#each row as cell, j}
<td>{cell}</td>
{/each}
</tr>
{/each}Chaves em cada nível
Adicione chaves em todos os níveis para obter atualizações eficientes.
{#each rows as row (row.id)}
{#each row.cells as cell (cell.id)}
...
{/each}
{/each}Estruturas de árvore
Use componentes compatíveis com recursão ou blocos each para dados em formato de árvore.
Evite chaves baseadas em índices
Usar o índice da lista como chave falha quando itens são inseridos ou removidos no meio. Prefira um id estável.
Armadilha dos dados mutáveis
Alterar listas aninhadas sem reatribuir a referência externa rompe a reatividade. Reatribua no nível superior.
rows = rows.map(r => r.id === id ? {...r, name} : r);Filtragem e ordenação
Sempre retorne uma nova lista ao filtrar ou ordenar; alterar a lista no próprio lugar não acionará atualizações.
sorted = [...items].sort();Desempenho
As chaves tornam a adição, a remoção ou a movimentação de itens O(n), em vez de forçar novas renderizações completas.
Reordenar listas
Com chaves, as animações de reordenação são fáceis: combine-as com animate:flip.
Renderização condicional interna
Combine blocos {#if} dentro de each para controlar com precisão quais itens são exibidos.
Um componente por item
Para itens complexos, renderize um componente filho para manter pequeno o corpo do loop.
{#each todos as todo (todo.id)}
<Todo {todo} />
{/each}Padrão de paginação
Para listas longas, use paginação ou virtualização em vez de renderizar milhares de nós.
Verificação rápida
Por que preferir IDs estáveis a índices como chaves?
Recapitulação
Aninhe blocos each para dados bidimensionais, use IDs estáveis como chaves em todos os níveis e sempre reatribua as coleções para acionar atualizações.
Aprenda HTML com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 41
- Aulas
- 163
Perguntas Frequentes
A aula “{#each} aninhado e atualizações por chave” é grátis?
Sim — o texto completo de “{#each} aninhado e atualizações por chave” é 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 “{#each} aninhado e atualizações por chave”?
Gerencie listas aninhadas e garanta atualizações eficientes do DOM com blocos each com chave. 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 4 de 4.
Quanto tempo leva a aula “{#each} aninhado e atualizações por chave”?
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
- {#if} {#else if} {#else}
- {#each} com índice e chave
- {#key} para forçar uma nova renderização
- {#each} aninhado e atualizações por chave