如何使用到达路由器将渲染方法作为属性包含到Route?

时间:2018-11-18 15:38:34

标签: javascript reactjs reach-router

我想使用到达路由器进行受保护的路由。在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()方法中写入条件。

0 个答案:

没有答案