Domine Listas e Keys no React

Renderizar listas no React é simples, mas fazer isso da maneira correta é difícil.

Muitos desenvolvedores usam o índice do array como uma key. Isso é um erro. Isso leva a bugs e performance lenta.

Veja como você deve lidar com dados dinâmicos no React.

Como o React utiliza listas O React utiliza o método map() para transformar arrays em elementos de UI. Quando você usa o map(), o React transforma cada pedaço de dado em um componente.

O Papel das Keys O React utiliza um Virtual DOM. Quando os dados mudam, o React compara os novos dados com os antigos. Esse processo é chamado de reconciliação.

As keys atuam como identificadores únicos. Elas dizem ao React exatamente qual item mudou, moveu-se ou foi excluído.

Por que usar o índice como uma key é perigoso Usar o índice (0, 1, 2...) como uma key causa três problemas principais:

  • Erros de Estado do Componente: Se você ordenar uma lista, campos de entrada ou checkboxes podem exibir dados do item errado.
  • Quedas de Performance: O React não consegue rastrear qual item é qual. Frequentemente, ele renderiza novamente a lista inteira em vez de apenas um item.
  • Bugs Visuais: Sua UI pode parecer correta, mas a lógica interna falhará quando os itens mudarem de posição.

A Maneira Correta de Usar Keys Para manter seu app rápido e estável, siga estas regras:

  • Use IDs Únicos: Sempre use IDs do seu banco de dados (como um UUID ou uma chave primária).
  • Nunca Use Math.random(): Gerar keys durante a renderização faz com que o React recrie cada elemento em cada atualização. Isso acaba com a performance.
  • Mantenha as Keys Estáveis: Uma key deve permanecer a mesma para o mesmo dado durante todo o seu ciclo de vida.

Comparação Rápida

Recurso: Estabilidade Usando Índice: Instável Usando ID Único: Altamente Estável

Recurso: Performance Usando Índice: Ruim Usando ID Único: Otimizada

Recurso: Segurança de Estado Usando Índice: Inseguro Usando ID Único: 100% Seguro

Resumo para Desenvolvedores Use o método map(). Passe um ID único e estável para a prop key. Evite usar o índice do array para qualquer lista que possa ser alterada, ordenada ou filtrada.

Fonte: https://dev.to/banti_kevat_8e2d123bb7994/react-me-lists-aur-keys-kaise-use-karein-explained-in-hindi-c64