相关链接:https://github.com/reactjs/react-transition-group
https://reactcommunity.org/react-transition-group/
https://reactcommunity.org/react-transition-group/css-transition
一、介绍
基于react的一个动画库,组件包括
二、安装
npm install react-transition-group
或
yarn add react-transition-group
三、代码引入
1. JS
<TransitionGroup>
{this.state.list.map((item, index) => {
return (
<CSSTransition
key={index}
in={this.state.show}
timeout={1000}
classNames="fade"
unmountOnExit
onEntered={el => {
el.style.color = 'blue'
}}
appear={true}
>
<div>{item}</div>
</CSSTransition>
)
})}
</TransitionGroup>
in:代表显示消失的状态
timeout:动画时长
className:动画名前缀,写css需要永奥
unmountOnExit:模块透明度为0时是否消失
onEntered:进入之后的钩子
appear:第一次刷新进入是否有动画
2. CSS
/* 进去和第一次进入的样式 */
.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;
}