Sveltejs Academy · Aula

{#each} aninhado e atualizações por chave

Gerencie listas aninhadas e garanta atualizações eficientes do DOM com blocos each com chave.

Aula 4 de 413 etapas

{#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.

Grátis para começar

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

  1. {#if} {#else if} {#else}
  2. {#each} com índice e chave
  3. {#key} para forçar uma nova renderização
  4. {#each} aninhado e atualizações por chave
← Voltar para Sveltejs Academy