1、使用css实现过渡效果
style.css
.show {
opacity: 1;
transition: all 1s ease-in;
}
.hide {
opacity: 0;
transition: all 1s ease-in;
}
App.js
import React,{Component,Fragment} from "react";
import './style.css';
class App extends Component{
constructor(props){
super(props);
this.state = {
show: true,
}
this.handleToggle = this.handleToggle.bind(this);
}
render(){
return(
<Fragment>
<div className={this.state.show?'show':'hide'}>Test</div>
<button onClick={this.handleToggle}>toggle</button>
</Fragment>
);
}
handleToggle(){
this.setState({
show: this.state.show?false:true,
});
}
}
export default App;
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App'
ReactDOM.render(
<App />,
document.getElementById('root')
);
2、使用css实现动画效果
.show {
animation: show-item 2s ease-in forwards;
}
.hide {
animation: hide-item 2s ease-in forwards;
}
@keyframes show-item{
0% {
opacity: 0;
color:red;
}
50% {
opacity: 0.5;
color: green;
}
100% {
opacity: 1;
color: blue;
}
}
@keyframes hide-item{
0% {
opacity: 1;
color:red;
}
50% {
opacity: 0.5;
color: green;
}
100% {
opacity: 0;
color: blue;
}
}