Именно из - за pathдумать о каждом маршруте случае в заявлении выключателя, и <Route />в keyкомпоненте быть react-routerдля этого случая. Когда путь изменяется, компонент полностью размонтируется. Следовательно, вы не видите переходы CSS, потому что DOM для него больше не существует.
Если вы хотите анимировать react-transition-group. Вы должны использовать вызываемую библиотеку утилиты react-router. Вот подробный пример автора, за которым вы можете следовать. Пример анимации Router Routerclass App extends React.Component { constructor() { super(); this.state = { _isProjectNavOpen: true, _ProjectsKey: 1, _RouteKey: 1 } this._toggleProjectNav = this._toggleProjectNav.bind(this); } _toggleProjectNav() { this.setState(prevState => ({ _isProjectNavOpen: !prevState._isProjectNavOpen, _ProjectsKey: prevState._ProjectsKey + 1, _RouteKey: prevState._RouteKey + 1 })); } render() { <div> <Router> <Route key={this.state._RouteKey} path="/projects" component={(props, state, params) => <Projects _toggleProjectNav={this._toggleProjectNav} _isProjectNavOpen={this.state._isProjectNavOpen} key={this.state._ProjectsKey} {...props} />} /> </Router> </div> } }
Надеюсь, это поможет.