为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第19天 2022升级 React18+TS高仿AntD从零到一打造组件库

标签:
Html5

课程章节:第7章 他山之石 - Icon 组件 和 Transition 组件

主讲老师:张轩

课程内容:

今天学习的内容包括:

7-5 React Transition Group 简介
7-6 React Transition Group 实践 - 动画效果第二种实现方式

课程收获:

React Transition Group是用于帮助React实现动画效果

npm install react-transition-group --save

CSSTransition

CSSTransition官方使用教程
CSSTransition可以实现单个标签的动画效果
使用流程

导入CSSTrasition

用标签包裹需要设置动画的标签
in : 绑定控制动画效果切换的属性 this.state.show的值在true和false之间切换来控制动画效果
timeout: 动画持续的时间
classNames : 动画的class名 与.css中样式类名一致
unmountOnExit : 动画出场即fade-exit-done样式效果结束后 直接将标签移除掉(若没有该属性 只是不显示标签 标签的位置任然占有)
onEntered : 钩子函数 还有很多不同时刻的钩子函数 具体查看官网文档
appear : 值为true时 第一次显示标签是也有动画效果 需要在.css文件中设置相关样式

<CSSTransition
    in = {this.state.show}
    timeout  = {1000}
    classNames = 'fade'
    unmountOnExit
    onEntered = {(el) => {el.style.color = 'blue'}}
    appear = {true}
    >
    <h1>hello world</h1>
</CSSTransition>

设置样式

fade : 对应属性classNames = 'fade’
appear的三个样式类:对应属性appear = {true}
enter的三个样式类:入场样式动画
exit的三个样式类:出场样式动画

.fade-appear, .fade-enter{
  opacity: 0 ;
}

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

.fade-appear-done , .fade-enter-done{
  opacity: 1 ;
}

.fade-exit{
  opacity: 1 ;
}

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

.fade-exit-done{
  opacity: 0;
}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消