zoukankan      html  css  js  c++  java
  • react-transition-group v2 用法概述

    官方文档地址:https://reactcommunity.org/react-transition-group/

    在react-transition-group v2中,暴露了三个组件:

    其中最重要的是CSSTransition,TransitionGroup用于列表项的过渡动画,掌握了CSSTtransition后很快就能上手。

    CSSTransition组件中较为重要的api有:

    • in:bool,控制组件显示与隐藏,true显示,false隐藏
    • timeout:number,延迟,涉及到动画状态的持续时间。可传入一个对象,如{exit:300,enter:500}来分别设置进入和离开的延时
    • classNames:string,动画进行时给元素添加的类名。一般利用这个属性来设计动画。这里要特别注意是classNames而不是className
    • unmountOnExit:bool,为true时组件为隐藏状态时移除组件,为false时组件保持动画结束时的状态而不移除元素。一般要设成true。
    • appear:bool,为false时当CSSTransition控件加载完毕后不执行动画,为true时控件加载完毕则立即执行动画。demo:https://codepen.io/phsantiago/pen/WdNLmm

    动画进行时,以classNames='fade'为例,将依次为要执行动画的元素添加以下类名:

    fade-enterfade-enter-activefade-enter-donefade-exitfade-exit-activefade-exit-done

    我们也可以单独指定每一个类名:

     classNames={{
         enter: 'my-enter',
         enterActive: 'my-active-enter',
         enterDone: 'my-done-enter,
         exit: 'my-exit',
         exitActive: 'my-active-exit',
         exitDone: 'my-done-exit,
    }}

    这里来逐个讲解一下每个类名的添加时机:

    • enter:当元素进入时添加
    • enter-active:当元素进入到页面后添加。与enter的主要差别是enter-active是在元素已经添加到页面后才会添加enter-active,而enter在元素添加到页面时已经携带。
    • enter-done:动画执行完毕后添加。动画时长取决于timeout
    • exit:元素离开时添加。离开动画时长取决于timeout
    • exit-active:同exit
    • exit-done:离开动画完成后添加。(仅在unmountOnExit为false时有效)

    官方文档上还提到一个appear和appear-active,由于用处不大这里就不讲解了。一般的动画使用enter-active和enter-done就基本够用了。

    案例:

            <CSSTransition
              in={isOpen}
              timeout={3000}
              classNames={'mask'}
              unmountOnExit={true}
            >
                <div key={1} className={style.mask}/>  //所有要执行动画的元素必须携带key
            </CSSTransition>

    其他的用法及案例请参照官方文档。

     

  • 相关阅读:
    Python学习心得第四周-03 名称空间与作用域
    Python学习心得第四周-02 函数对象和嵌套
    Python学习心得第四周-01 函数的参数
    Python学习心得第三周-06 函数返回值
    Python学习心得第三周-05 函数
    Spring 3.x 企业应用实战—— AOP基础
    Spring 3.x 企业应用实战—— IoC 配置概述
    Spring 3.x 企业应用实战—— IoC 概述
    技巧 用curl测试服务器响应时间
    Spring JDBC Pagination Tutorial
  • 原文地址:https://www.cnblogs.com/axel10/p/9554382.html
Copyright © 2011-2022 走看看