Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

174
Vistas
Si hay menos de 5 visibles, quiero que el botón sea invisible

Quiero que el botón sea invisible cuando haya menos de (5) botones de longitud visibles.

Está emitiendo 5 cada uno a través del estado visible .

en la página de detalles Pero me gustaría mostrar los botones invisibles si hay menos de 5 salidas.

Pero en mi código ahora, cuando hay menos de 5 botones, el botón se crea y el botón desaparece solo cuando se hace clic en el botón.

Al renderizar, quiero que los botones sean invisibles cuando hay menos de 5, pero ¿cómo debo escribir el código?

Quiero ocultar el botón cuando hay menos de 5 visibles

Funciona correctamente. Sin embargo, cuando hay menos de 5, el botón desaparece cuando se hace clic en el botón.

Sin embargo, si hay menos de 5, el botón desaparece cuando se hace clic en el botón. Pero, ¿y si, al renderizar la página, hay menos de 5 visibles? Quiero que el botón sea nulo al renderizar para que sea invisible incluso si no se hace clic en él. Como referencia, 5 visible se hace visible en

  • . {All.displayText} has set useState(5)' para que 5 visible sean visibles. Y si está visible == 5 , se imprimen todas las longitudes.

    ProductDetail.allergies.length Cuando este valor es inferior a 5, creo que puede configurarlo como setState visible, pero no sé cómo hacerlo.

     const [visible, setVisible] = useState(5); const [expanded, setexpanded ] = useState(false); const showMore = () => { if (visible === 5) { setVisible(ProductDetail.allergies.length); setexpanded(true); } else { setVisible(5); setexpanded(false); } } return ( {ProductDetail && ProductDetail.allergies?.length ? ProductDetail.allergies.slice(0, visible).map(All => ( <li key={All.id}> {All.displayText} </li> <ButtonBox> {visible >= 4 ? <button type="button" onClick={showMore}> {expanded ? (<div><span>close</span><img src={Vector190}/></div>) : (<div><span>more</span><img src={Vector189}/></div>) } </button> : null } </ButtonBox> )
  • about 4 years ago · Juan Pablo Isaza
    2 Respuestas
    Responde la pregunta

    0

    Lo resolví.

     <ButtonBox> { visible < ProductDetail.allergies?.length ? <button type="button" onClick={showMore}> {expanded ? (<div><span>close</span><img src={Vector190}/></div>) : (<div><span>more</span><img src={Vector189}/></div>) } </button> : null } </ButtonBox>
    about 4 years ago · Juan Pablo Isaza Denunciar

    0

    Lo que tienes que hacer es esto:

     return ( {ProductDetail && ProductDetail.allergies?.length ? ProductDetail.allergies.slice(0, visible).map(All => ( <li key={All.id}> {All.displayText} </li> <ButtonBox> {visible < 5 // <- change the condition here ? <button type="button" onClick={showMore}> {expanded ? (<div><span>close</span><img src={Vector190}/></div>) : (<div><span>more</span><img src={Vector189}/></div>) } </button> : null } </ButtonBox> )
    about 4 years ago · Juan Pablo Isaza Denunciar
    Responde la pregunta
    Encuentra empleos remotos

    ¡Descubre la nueva forma de encontrar empleo!

    Top de empleos
    Top categorías de empleo
    Empresas
    Publicar vacante Precios Comercial
    Legal
    Términos y condiciones Política de privacidad
    © 2026 PeakU Inc. All Rights Reserved.
    Andres GPT
    Recomiéndame algunas ofertas
    Necesito ayuda