我试图通过react-router创建专用路由,但是我的应用仅在第二次URL更改时才重新加载。这是为什么?
这是我在路由器内部的交换机:
<Switch>
{listId ? <PrivateRoute updatePath={`/list/${listId.listId}`} component={ListManager}/> : null}
<PrivateRoute updatePath='/search' component={Search}/>
</Switch>
这是我的私人路线:
const PrivateRoute = ({ updatePath, component, ...options }) => {
const isAuthenticated = useSelector(
state => state.auth.token
);
return (
<Fragment>
{isAuthenticated ? (
<Fragment>
<Route {...options} path={updatePath} component={component}/>
<Redirect to={updatePath}/>
</Fragment>
) : (
<Fragment>
<Route path="/auth" component={Auth}/>
<Redirect to='/auth'/>
</Fragment>
)}
</Fragment>
)
}