当前位置: 首页 > news >正文

react 的过渡动画

一、React的过渡动画

1、react-transition-group

在开发中,我们想要给一个组件的显示和消失,添加某种过渡动画,可以很好的增加用户体验,

React社区为我们提供了react-transition-group用来完成过渡动画,

React曾为开发者提供过动画插件react-addons-css-transition-group,后由社区维护,形成了现在的 react-transition-group

这个库可以帮助我们方便的实现,组件的 入场 和 离场 动画,
使用时需要进行额外的安装,如下:npm install react-transition-group --save

2、主要组件

  • Transition:该组件是一个和平台无关的组件(不一定要结合CSS)
    在前端开发中,一般是结合CSS来完成样式,所以比较常用的是CSSTransition

  • CSSTransition:在前端开发中,通常使用 CSSTransition 来完成过渡动画效果
    如果只有一个组件,直接使用这个即可

  • SwitchTransition:两个组件显示和隐藏切换时,使用该组件

  • TransitionGroup:将多个动画组件包裹在其中,一般用于列表中元素的动画

CSSTransition

CSSTransition 是基于 Transition组件构建的,

  • CSSTransition执行过程中,有三个状态:appearenterexit
    这三种状态,需要定义对应的CSS样式:
    第一类,开始状态:对应的类是 -appear、-enter、-exit
    第二类:执行动画:对应的类是 -appear-active、-enter-active、-exit-active
    第三类:执行结束:对应的类是 -appear-done、-enter-done、-exit-done;

  • 常见属性如下:

  1. in:触发进入或者退出状态
0、如果添加了 unmountOnExit={true} ,那么,该组件会在执行退出动画结束后被移除掉;1、当intrue时,触发进入状态,会添加 -enter、-enter-acitve 的class,开始执行动画当动画执行结束后,会移除两个class,并且添加 -enter-done 的class2、当infalse时,触发退出状态,会添加 -exit、-exit-active 的class,开始执行动画当动画执行结束后,会移除两个class,并且添加 -enter-done 的clas
  1. classNames:动画class的名称
决定了在编写css时,对应的class名称:
比如,`card-enter、card-enter-active、card-enter-done`
  1. unmountOnExit:退出后卸载组件

  2. appear:是否在初次进入添加动画(需要和 in同时为true)

  3. timeout:过渡动画的时间

  4. 对应的钩子函数,为了在动画的执行过程,来完成一些JavaScript的操作

`onEnter`:在进入动画之前,被触发`onEntering`:在应用进入动画时,被触发`onEntered`:在应用进入动画结束后,被触发`onExit`:离开动画之前,被触发`onExiting`:离开动画时,被触发`onExited`:离开动画之后,被触发

CSSTransition的示例

下班了,明天再接着写

相关文章:

  • Electron桌面程序初体验
  • 在910A上量化大语言模型问题记录
  • iperf3使用方法
  • 春秋云镜【CVE-2017-18349】fastjson wp
  • WebSocket快速入门
  • 北京他山科技:全球首款AI触觉感知芯片破局者
  • 异步IO框架io_uring实现TCP服务器
  • RISC-V h拓展
  • 使用nhdeep目录套打工具打印备考表
  • ELK 和 OpenShift 中的 EFK
  • c++中的set容器介绍及操作
  • 动,静态库
  • 智能生成分析报告系统在危化安全生产监测预警评估中的应用
  • 【麻省理工】《how to speaking》笔记
  • Kubernetes安全
  • 亚矩云手机赋能Vinted矩阵运营:破解二手电商多账号与本地化困局
  • idea 报错:java: 非法字符: ‘\ufeff‘
  • 回归任务与分类任务的区别
  • 合并table
  • Java后端与Vue前端项目部署全流程:从环境配置到Nginx反向代理
  • 交互设计研究生/网站seo优化心得
  • 可在哪些网站做链接/百度服务中心
  • 网站用什么语言好/个人网站设计
  • 泰州网站建设方案优化/2023b站推广大全
  • 网站信息备案管理系统/线上销售怎么做推广
  • 佛山知名网站建设公司/网络公关公司