Я пытаюсь закодировать мою веб-страницу с помощью react@16.13.1, react-transition-group@4.3.0, react-router@5.1.2 ... Я использую одну из новых ловушек реагирующего маршрутизатора (useParams, useLocation, useHistory) внутри маршрутизируемого и переходного функционала составная часть. После истечения времени ожидания перехода я получил дополнительный рендер. Если я удаляю хук или хуки реактивного маршрутизатора, все в порядке, и дополнительный вызов не происходит.
В моем функциональном компоненте "BaseLayout":
<TransitionGroup component={null}>
<CSSTransition key={location.key} classNames="slide" timeout={3000}>
<Switch location={location}>
<Route path="/" exact children={<Home />} />
<Route
path="/:postType/:category/:year(\d{4})/:month(\d{2})/:day(\d{2})/:slug/:id/:pseudoId"
children={<Post />}
/>
</Switch>
</CSSTransition>
</TransitionGroup>
В моем функциональном компоненте "Post":
export default function Post(){
let location = useLocation();//If I delete this line there is no log after 3000miliseconds (as expected )
console.log("Hi from home");//After 3000miliseconds I get an other log
return (
<TransitionWrapper>
<div>test</div>
</TransitionWrapper>
);
}