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

99
Vistas
Revelar animación que no funciona como me gustaría. El diseño se carga durante una fracción de segundo y luego desaparece

Así que tengo una animación de revelación en mi aplicación de reacción que usa el paquete ScrollReveal y estoy luchando para que funcione correctamente.

La animación en sí funciona muy bien, sin embargo, descubrí que cuando navego por la aplicación y vuelvo a la página de inicio donde se supone que se revela el diseño, el diseño completo aparece durante una fracción de segundo y luego desaparece para comenzar la animación. Creo que es justo querer que la animación comience de inmediato y no tenga ese efecto de salto al principio. Actualmente lo tengo en useEffect porque pensé que eso lo arreglaría, pero no fue así. También probó useLayoutEffect y no funciona.

El código para el componente de la página de inicio que se revela:

 import React, { useEffect } from "react"; import ScrollReveal from "scrollreveal"; import { Title, HomeContainer, Subtitle, TitleButton, Hi, Name, ButtonContainer } from "../../styles/Home-styles"; const Home = () => { useEffect(() => { ScrollReveal().reveal('.title' , {duration: 500, origin:"top", distance: "0.5em", delay: 0 , easing: "ease-in-out"}); ScrollReveal().reveal('.subtitle', {duration: 500, origin:"top", distance: "1em", delay: 300, easing: "ease-in-out"}); ScrollReveal().reveal('.button', {duration: 500, delay: 1000, distance: '0px', opacity: 0, easing: "ease-in-out"}) }, []); return ( <HomeContainer> <Title className="title"> <Hi>Hi, </Hi> <Name>I'm Saif.</Name> </Title> <Subtitle className="subtitle">This is a subtitle</Subtitle> <ButtonContainer className="button"> <TitleButton to="/about">button</TitleButton> </ButtonContainer> </HomeContainer> ); }; export default Home;
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su animación comienza después de que se representa un diseño, porque su enlace useEffect se activa después de que se monta el componente. Entonces, el primer marcado se procesa, solo después de eso, se lleva a cabo una animación y obliga a sus elementos a animarse. Establezca estilos CSS iniciales: oculte elementos detrás de la ventana gráfica utilizando el posicionamiento absoluto en CSS, use opacidad: 0, etc.

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