Именно из - за 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> } }
Надеюсь, это поможет.