gpt4 book ai didi

javascript - React CSSTransition 没有正确应用类

转载 作者:行者123 更新时间:2023-11-28 00:57:25 26 4
gpt4 key购买 nike

我正在开发轮播应用程序,我必须使用 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 适用,但当我循环旋转木马时,我可以看到 enterexit 类从 div 中脱落,永远不会返回。我怀疑我对 key={index} 做错了什么,我读过它是一种反模式,但我不确定如何修复它。

同样,如果需要更多代码,请说出来!

最佳答案

使用它是一件棘手的事情,正如我从几乎所有我寻求帮助的地方都听到的那样。他们需要处理文档并构建一些更好的示例!无论如何,CSS 只是把正确的东西放在了错误的地方。具体来说,我在完成状态下尝试做的事情需要在事件状态下完成,而我在事件状态下尝试做的事情需要在进入状态下完成。

.carouselTransition-appear {
opacity: 1;
}

.carouselTransition-appear.carouselTransition-appear-active {

}

.carouselTransition-enter {
transform: translateX(110%);
}

.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(-100%);
}

.carouselTransition-exit-done {
left: -10000px;
opacity: 0;
height: 0px;
}

关于javascript - React CSSTransition 没有正确应用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com