首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-transition-group CSSTransition在渲染时滑入

react-transition-group CSSTransition在渲染时滑入
EN

Stack Overflow用户
提问于 2019-05-25 02:59:26
回答 2查看 1.7K关注 0票数 0

我正在尝试让一个组件在React中有条件地呈现,并在它呈现时滑动它

包:

代码语言:javascript
复制
"react": "^16.8.6",
"react-transition-group": "^4.0.1",

代码片段:

代码语言:javascript
复制
{ expanded && (
    <CSSTransition in={expanded} timeout={500} classNames="slide">
        <div className="expandedDiv"></div>
    </CSSTransition>
)}

css:

代码语言:javascript
复制
.slide-enter {
    transform: translateX(-100%);
    transition: .3s linear;
}
.slide-enter-active {
    transform: translateX(0%);
}
.slide-exit {
    transform: translateX(0%);
    transition: .3s linear;
}
.slide-exit-active {
    transform: translateX(-100%);
}

结构:

代码语言:javascript
复制
+------------------------------+
|      |          |  header    |
|      |          |____________+
|      |          |  content   |
|      |          |            |
|      |          |            |
| nav  | expanded |            |
|      |          |            |
|      |          |            |
|      |          |            |
+------------------------------+

Expanded应该在true上滑入,在false上滑出,它是代码片段中的expandedDiv

div只是弹出,没有动画。预期行为是从左到右的线性过渡

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-27 18:38:03

代码语言:javascript
复制
               <CSSTransition
                    in={expanded}
                    timeout={300}
                    classNames="slide"
                    unmountOnExit
                    onEnter={() => this.toggleExpanded(true)}
                    onExited={() => this.toggleExpanded(false)}
                >
                    <div className="expandedDiv">
                    </div>
                </CSSTransition>
            </div>
票数 0
EN

Stack Overflow用户

发布于 2019-05-25 03:29:42

我需要多看一点你的代码,才能准确地理解你想要做什么。但是如果我没弄错的话,试着这样做:

代码语言:javascript
复制
<CSSTransition
  in={expanded}
  appear={true}
  key = {this.props.location.key}
  timeout={500}
  classNames="slide">
            <div className='expandedDiv'> </div>
</CSSTransition>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56298258

复制
相关文章

相似问题

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