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

164
Vistas
Cambie el componente principal según los accesorios secundarios -> Preact/React

soy bastante nuevo en la programacion

En el siguiente ejemplo, cada vez que el componente secundario se vuelve nulo (... o en otras palabras, cuando getPosts() se vuelve nulo), quiero que la clase div del componente principal cambie de className={style.container} a className={style.container.minimized} .

¿Cuál es la forma de volver a escribir este código para que esto sea posible? Agradezco cualquier ayuda.

Tengo un componente principal como este

 const Parent = () => { return ( <div className={style.root}> <div> <div className={style.container}> <Child /> </div> </div> </div> ); };

El componente Mi hijo es así

 const Child = () => { <div> {getPosts() ? ( <div> <p>Tomasz from {companyData.companyName}</p> <p>{getPosts()}</p> </div> ) : null} </div> }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay varias formas de lograr el objetivo deseado.

A continuación se presenta una forma posible:

Padre

 const Parent = () => { const [hasPosts, setHasPosts] = React.useState(false); return ( <div className={style.root}> <div> <div className={hasPosts ? style.container : style.container.minimized}> <Child hasPosts={hasPosts} setHasPosts={setHasPosts} /> </div> </div> </div> ); };

Niño

 const Child = ({hasPosts, setHasPosts, ...props}) => { // if getPosts() is an API, may choose to make the call // within useEffect hook. For simplicity, it is placed as-is below. const posts = getPosts(); if (posts) setHasPosts(true); else setHasPosts(false); return (<div> {hasPosts ? ( <div> <p>Tomasz from {companyData.companyName}</p> <p>{posts}</p> </div> ) : null} </div>); };

Explicación

  • Declare hasPosts y setHasPosts en padre (con useState hook)
  • Pase ambos como accesorios al niño.
  • Realice una llamada a getPosts() en el niño y almacene el resultado en posts locales
  • Invoque setHasPosts para establecer hasPosts en verdadero si hay publicaciones; de lo contrario, establecerlo como falso.
  • Usar posts dentro del JSX del niño
  • Use hasPosts en el JSX del padre y aplique condicionalmente el estilo apropiado en el padre

PD: Hay muchos recursos increíbles en Internet que explican estos detalles de una manera mucho más elegante e informativa.

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