要在更改路线时获取动画,我正在使用Switch。这一切都有效但如果我尝试去路线“/”我得到“警告:您试图重定向到您当前所在的相同路线:”/ login“”。如果我删除开关我没有收到错误。我真的不知道我是愚蠢还是有什么不对劲。
<Router>
<Route
render={({ location }) => (
<TransitionGroup>
<CSSTransition key={location.key} classNames="fade" timeout={1000}>
<Switch location={location}>
<Route
exact
path="/"
render={() =>
this.state.loggedIn ? (
<SomeComponent />
) : (
<div>
<Redirect to={{ pathname: '/login' }} />
</div>
)
}
/>
<Route
path="/login"
render={() =>
!this.state.loggedIn ? (
<SomeOtherComponent />
) : (
<div>
<Redirect to={{ pathname: '/' }} />
</div>
)
}
/>
<Route
path="/signup"
render={() =>
!this.state.loggedIn ? (
<AnotherComponent />
) : (
<div>
<Redirect to={{ pathname: '/' }} />
</div>
)
}
/>
</Switch>
</CSSTransition>
</TransitionGroup>
)}
/>
</Router>;