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

93
Visualizações
Transitioning between React elements being rendered dynamically from an Object

I have a React component that dynamically renders slides on the page from a slides object based on a state variable. I'd like to add some CSS transitions when the slides enter and exit, but I can't seem to find a good way to do it. Below is a simplified example of what I'm working with, but should get the idea across:

const slides = {
   slide1: {
      id: 1,
      content: <>Slide content</>,
      nextSlide: slide2,
      prevSlide: null
   },
   slide2: {
      id: 2,
      content: <>Slide content</>,
      nextSlide: slide3,
      prevSlide: slide1,
   },
   slide3: {
      id: 3,
      content: <>Slide content</>,
      nextSlide: null,
      prevSlide: slide2
   }
}

const [currentSlide, setCurrentSlide] = useState("slide1")

return (
   <div>
      {slides[currentSlide].content}
      <button onClick={() => setCurrentSlide(slides[currentSlide].prevSlide}
         Previous Slide
      </button>
      <button onClick={() => setCurrentSlide(slides[currentSlide].nextSlide}
         Next Slide
      </button>
   </div>
)

I've tried writing a handler function that sets the slide state change on a delay and then triggers a separate state variable that inject a CSS class name corresponding to some transition rules into the content container, but I couldn't get it working how I thought it would. What's the best way to do this?

about 4 years ago · Juan Pablo Isaza
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