【发布时间】:2018-10-31 02:32:46
【问题描述】:
我正在开发一个轮播应用程序,我必须使用React Transition Group 对其进行动画处理。出于某种原因,我似乎无法正确应用这些课程。
它是专有代码和开源代码的混合体,所以如果这个示例还不够,我很乐意扩展我的示例。
React render() 调用这个:
{this.props.slides.map((slide, index) => (
<CSSTransition
key={this.index}
in={this.appearHome}
appear={true}
timeout={600}
classNames="carouselTransition"
>
<CarouselSlide
key={index}
index={index}
activeIndex={this.state.activeIndex}
slide={slide}
/>
</CSSTransition>
))}
然后css看起来像这样:
/* appear on page load */
.carouselTransition-appear {
opacity: 0;
z-index: 1;
}
.carouselTransition-appear.carouselTransition-appear-active {
opacity: 1;
transition: opacity 600ms linear;
}
.carouselTransition-enter {
opacity: 0;
z-index: 1;
}
.carouselTransition-enter.CarouselTransition-enter-active {
opacity: 1;
transition: opacity 300ms linear;
}
.carouselTransition-exit {
opacity: 1;
}
.carouselTransition-exit.carouselTransition-exit-active {
opacity: 0;
transition: opacity 300ms linear;
}
.carouselTransition-exit-done {
opacity: 0;
}
appear css 适用,但当我循环轮播时,我可以看到 enter 和 exit 类从 div 中脱落,永远不会返回。我怀疑我对key={index} 做错了,我读过它是一种反模式,但我不知道如何解决它。
同样,如果需要更多代码,请说出来!
【问题讨论】:
标签: javascript css reactjs react-transition-group