首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >淡出ReactCSSTransitionGroup不起作用

淡出ReactCSSTransitionGroup不起作用
EN

Stack Overflow用户
提问于 2018-07-15 13:35:46
回答 1查看 101关注 0票数 0

因此,我尝试在15秒后淡出(过渡退出/离开)。淡入效果很好,但是淡出效果不好。为什么会这样呢?这是我的代码

代码语言:javascript
复制
{this.state.reachedRSS ? [

                Object.keys(this.state.items).map((key) =>
                    <div>
                        <ReactCSSTransitionGroup transitionName="example"
                            transitionAppear={true} transitionAppearTimeout={1000}
                            transitionEnter={false} transitionLeave={true}
                            transitionLeaveTimeout={1000}>

                            <h5><a href={this.state.link[key]}>{this.state.items[key]}</a></h5>
                            <h6>{this.state.description[key]}</h6>
                        </ReactCSSTransitionGroup>
                    </div>
                )
            ]
                : null}

            {
                this.state.reachedHTML ?
                    <ReactCSSTransitionGroup transitionName="example"
                        transitionAppear={true} transitionAppearTimeout={1000}
                        transitionEnter={false} transitionLeave={true}
                            transitionLeaveTimeout={1000}>
                        {<div dangerouslySetInnerHTML={{ __html: this.state.body }} />}
                    </ReactCSSTransitionGroup>
                    : null
            }

下面是我的CSS:

代码语言:javascript
复制
.example-appear {
  opacity: 0.01;
}
.example-appear.example-appear-active {
  opacity: 1;
  transition: opacity 1000ms ease-in;
}
.example-leave {
  opacity: 0.01;
}
.example-leave.example-leave-active {
  opacity: 1;
  transition: opacity 1000ms ease-in;
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-15 13:57:50

组件在动画化之前会先卸载

由于卸载是即时发生的,因此您的组件立即被替换为null

您应该通过状态更改触发您的离开动画,然后在完成时卸载组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51345554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档