我使用PrivateRoute验证用户是否已登录,使用以下代码可以正常工作
<Route
{...rest}
render={props => (
rest.user ? (
<Component {...props}/>
):(
<Redirect to={{
pathname: '/signin',
state: {from: props.location}
}}/>
)
)}/>
const mapStateToProps = (state, ownProps) => {
return {
user: state.user.currentUser,
routeProps: {
exact: ownProps.exact,
path: ownProps.path
}
};
};
这很有效,但是如果导航到任何其他也被“私有”的路线。并点击浏览器&#39;返回&#39;按钮,它只是停留在第二页,虽然地址栏中的URL更改。 如果我用Route替换PrivateRoute,那么一切正常。 我在这做错了什么?这就是设置路由的方式
<PrivateRoute exact path="/a" component={ListComponent}/>
<PrivateRoute exact path="/a1" component = { AddContainer } />
<PrivateRoute exact path="/a1/:id" component = { AddContainer } />