Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

182
Visualizações
¿Qué debo usar como clave para los elementos de "fila" en reaccionar?

Tengo una galería que muestra varios libros por fila. Esta galería toma una matriz de libros como accesorio y utiliza el accesorio "itemsPerRow" para dividir los libros en una matriz de 2 dimensiones y luego recorre todos los libros para mostrar los libros en una estructura similar a una cuadrícula.

 export default function Gallery({ items, itemsPerRow, renderLink }) { itemsPerRow = itemsPerRow ?? 3 const rows = chunk(items, itemsPerRow) const renderEmptyItems = (itemsToRender) => { const items = [] for(let n = itemsToRender; n > 0; n--) { items.push(<GalleryItem key={`empty_${n}`} empty/>) } return items } return ( <div> { rows.map((row, index) => ( <div key={index} className="tile is-ancestor"> {row.map(item => <GalleryItem key={item.id} renderLink={renderLink} {...item}/>)} {/* Add empty gallery items to make rows even */} {index + 1 === rows.length && renderEmptyItems(itemsPerRow - row.length)} </div> )) } </div> ) }

Sin embargo, a menos que le dé una clave a cada div que representa una fila, reaccionar se queja de la falta de claves. Según tengo entendido, usar el índice como clave realmente no ayuda a reaccionar y debe evitarse. Entonces, ¿qué debo usar como clave aquí <div key={index} className="tile is-ancestor"> en lugar del índice?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Use un identificador único ( book.id , tal vez book.title si es único) para los accesorios key . Si sus datos no tienen un identificador único, está bien usar index .

about 4 years ago · Juan Pablo Isaza Relatório

0

Debe especificar un valor que identifique de forma única el elemento, como la identificación. Puede leer más sobre las claves en la documentación .

Además, no se recomienda usar índices como claves si el orden de sus datos puede cambiar, ya que React se basa en las claves para saber qué componentes volver a renderizar, la documentación que vinculé lo explica con más detalle.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar el identificador_único que diferencia cada uno de los documentos (probablemente, debería pasar el _id del documento como elemento clave en los componentes de la fila)

 <div className="row"> {notes.map((item) => { return ( <div key={note._id} className="col-md-6"> <Component item={item} /> </div> ); })} </div>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda