美文网首页
react-transition-group

react-transition-group

作者: 参商_70a0 | 来源:发表于2019-10-08 09:56 被阅读0次

CSSTransition
https://blog.csdn.net/mo_jiu/article/details/86302444
csstransition优越之处在于提供了额外的钩子函数更好的实现过渡效果。

<CSSTransition
                    in={this.state.show}//判断过渡的分割点
                    timeout={1000}//所需要的时间
                    classNames='fade'//所采用的效果,以fade开头的css类属性
                    unmountOnExit//离开时删除DOM
                    onEnter={(el)=>{
                        el.style.color='blue'//入场动画结束时触发
                    }}
                    appear={true}//第一次出现时也执行动画
                >
                    <div>hello</div>
 </CSSTransition>

.fade-enter,.fade-appear{
    opacity: 0;
  }
  .fade-enter-active,.fade-appear-active{
    opacity: 1;
    transition: opacity 1s ease-in;
  }
  .fade-enter-done{
    opacity: 1;
  }
.fade-exit{
    opacity: 1;
} 
.fade-exit-active{
    opacity: 0;
    transition: opacity 1s ease-in;
}
.fade-exit-done{
    opacity: 0;
}


当需要对多个组件实现过渡效果时
可以用TransitionGroup嵌套CSSTransition

<TransitionGroup>
                {
                    this.state.list.map((item,index)=>{
                        return (
                            <CSSTransition
                                in={this.state.show}
                                timeout={1000}
                                classNames='fade'
                                unmountOnExit
                                onEnter={(el)=>{
                                    el.style.color='blue'
                                }}
                                appear={true}
                                key={index}
                            >
                                <div>{item}</div>
                            </CSSTransition>
                        )
                    })
                }
                </TransitionGroup>

相关文章

网友评论

      本文标题:react-transition-group

      本文链接:https://www.haomeiwen.com/subject/wynpuctx.html