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

187
Visualizações
Cambie dinámicamente la clase según el índice actual en un componente de reacción. (objeto.mapa)

Tengo esta instrucción Object.map en un componente de reacción.

 { instagramItems.map((item, index) => ( <div className="row" Key={index}> <div onClick={() => handleClick(item, index)} className="image-block col-sm-4" style={{ backgroundImage: "url(" + item.media_url + ")", backgroundPosition: 'center ', backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }}></div>

Quiero cambiar la clase col-sm-X en un div para que la salida repita este patrón.

 col-sm-4 col-sm-8 col-sm-4 col-sm-4 col-sm-4 col-sm-8 col-sm-4

Supongo que necesito usar el índice para calcular lo que necesito para configurar la clase.

Actualizar:

Aunque he marcado la respuesta de Yuji 'Tomita' Tomita como la correcta. no es exactamente lo que queria...

Quiero que el patrón se repita, no solo tener diferentes clases para la primera y la última. Quiero que la salida sea así:

http://www.prepbootstrap.com/bootstrap-template/responsive-image-tiles

¿Alguien puede mejorar la respuesta?

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Sí. Si tiene una lógica detrás, es decir, "el elemento 2 y el penúltimo" son 8, entonces puede codificarlo.

 `col-sm-${index === 1 || index === myArray.length-2 ? 8: 4}`

O bien, podría tener una matriz separada de clases si no siguen ningún patrón y extraen el índice de bucle.

 const cols = [4, 8, 4, 4, 4, 8] const myArray.map((x, i) => <div className={cols[i]}></div>)

La forma en que lo haces es más una especie de experiencia de desarrollador. ¿Qué patrón es más fácil de entender/mantener/etc.

about 4 years ago · Santiago Gelvez Relatório

0

Solo para mayor claridad después de la respuesta de @Yuji 'Tomita' Tomita

El código fuente que funciona se ve así:

 {instagramItems.map((item, index) => ( <div Key={index} onClick={() => handleClick(item, index)} className={"image-block col-sm-" + (index === 1 || index === instagramItems.length - 2 ? 8 : 4) } style={{ backgroundImage: "url(" + item.media_url + ")", backgroundPosition: 'center ', backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }}></div> ))}
about 4 years ago · Santiago Gelvez 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