Я пытаюсь создать карусель с использованием группы реакции-перехода.У меня это в основном работает, но проблема у меня сейчас в том, что из-за того, что я считаю проблемой с потоком событий группы реагирования и перехода.Когда один элемент уходит, следующий элемент входит, но они оба занимают свои соответствующие места.Это толкает интерфейс вниз до тех пор, пока переход не будет завершен, поскольку два элемента складываются друг на друга.Затем, когда переход завершается, интерфейс возвращается на место.
Я не могу сказать, связана ли проблема с событиями, css или обоими.
Карусель в реакции:
<CSSTransition
key={index}
appear={true}
in={index === this.state.activeIndex}
timeout={600}
classNames="carouselTransition"
transitionAppear={true}
unmountOnExit={true}
>
<CarouselSlide index={index} slide={slide} key={index} />
</CSSTransition>
Код CSS:
.carouselTransition-appear {
opacity: 1;
transform: translateY(-100%);
}
.carouselTransition-appear.carouselTransition-appear-active {
/*opacity: 1;*/
/*left:0px;
transition: left 600ms linear;*/
}
.carouselTransition-enter {
transform: translateX(99%);
}
.carouselTransition-enter.carouselTransition-enter-active {
transition: transform 600ms ease-in-out;
transform: translateX(0);
}
.carouselTransition-enter.carouselTransition-enter-done {
}
.carouselTransition-exit {
transform: translateX(0);
}
.carouselTransition-exit.carouselTransition-exit-active {
transition: transform 600ms ease-in-out;
transform: translateX(-110%);
}
.carouselTransition-exit-done {
left: -10000px;
/*opacity: 0;*/
opacity: 0;
height: 0px;
}