У меня внутри, и он правильно выполняет анимацию с помощью CSSTransitions. Тем не менее, коммутатор отменяет анимацию выхода и анимацию выхода и сразу переходит к анимации ввода. Можно ли установить задержку на Switch, чтобы завершить анимацию выхода?
Я вручную попытался ввести exit и exit-active, и анимация работает нормально.
Но при нажатии на ссылку вместо:
<div class="exit and exit-active">
работает, что он делает, Switch автоматически ставит ввод сверху, отменяя анимацию выхода, и он просто идет прямо к анимации ввода
<div class="page slide-enter-done">
<div class="exit and exit-active">
App.js
import React, { Component } from 'react';
import {
Route,
NavLink,
Switch
} from "react-router-dom";
import './App.css';
import './aboutme.css';
import AboutMe from './Projects';
import Home from './Home';
import About from './About';
import {
CSSTransition,
TransitionGroup,
} from 'react-transition-group';
// class component
class App extends Component {
render() {
return (
<div className="App">
<div className="nav">
<NavLink exact to="/" activeClassName="active">Home</NavLink>
<NavLink to="/about" activeClassName="active">About
Me</NavLink>
</div>
<Route render={({location}) => (
<TransitionGroup>
<CSSTransition
key={location.key}
timeout={{enter: 300, exit: 400 }}
classNames="slide"
>
<Switch location={location}>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</Switch>
</CSSTransition>
</TransitionGroup>
)} />
</div>
);
}
}
export default App;
App.css
.slide-enter {
top: 0;
left: 0;
transform: translate3d(-100vw, 0, 0);
color: transparent;
background-color: #5a564c;
position:relative;
top:0px;
width: 100vw;
height: 100vh;
}
.slide-enter-active {
background-color: #9e8949;
transition: all 300ms;
transform: translate3d(0vw, 0, 0);
}
.slide-exit {
background-color: #9e8949;
transition: all 400ms;
transform: translate3d(0vw, 0, 0);
}
.slide-exit-active {
transform: translate3d(100vw, 0, 0);
transition: all 300ms;
}
Мне нужен способ показать анимацию выхода, но всякий раз, когда по ссылке нажимают, она «закрывает» анимацию выхода и переходит прямо к анимации ввода