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

161
Vistas
carga diferida para imagen en componente con estilo
const BackgroundImage = styled.div` background: url(${(props) => props.backgroundImage}) no-repeat center center; }

Utilizo div en el componente de estilo, pero tiene un problema de parpadeo al esperar a que aparezca la imagen. ¿Hay alguna solución de carga diferida que use el div del componente con estilo?

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Cree un contenedor alrededor de su componente con estilo que no muestre el div hasta que se cargue la imagen.

Puede lograr esto creando una imagen temporal, espere a que se cargue y luego dígale al componente que la imagen está lista y se puede mostrar.

 const BackgroundImage = styled.div` background: url(${(props) => props.backgroundImage}) no-repeat center center; `; const LazyBackgroundImage = ({ src, children }) => { const [isLoaded, setIsLoaded] = useState(false); useEffect(() => { const image = new Image(); image.addEventListener('load', () => setIsLoaded(true)); image.src = src; }, [src]); if (!isLoaded) { return null; } return ( <BackgroundImage backgroundImage={src}> {children} </BackgroundImage> ); };

Usa el envoltorio así:

 <LazyBackgroundImage src="path/to/your-image.jpg"> <p>Hi there</p> </LazyBackgroundImage>
about 4 years ago · Santiago Gelvez 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