我想使用到达路由器制作受保护的路由。在 React Router v4 中,我可以使用 Route render() 方法来实现:
function PrivateRoute({ component: Component, ...rest }) {
return (
<Route
{...rest}
render={props =>
fakeAuth.isAuthenticated ? (
<Component {...props} />
) : (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
)
}
/>
);
}
然后声明路线:
<PrivateRoute path="/protected" component={Protected} />
我不知道如何访问或修改到达路由器中的 render() 方法:
<Router>
<Results path="/" />
<Details path="/details/:id" />
</Router>
如何使用到达路由器来做到这一点?必须有一种更好的方法,然后在受保护组件内的 render() 方法中编写条件。