Как включить метод рендеринга в качестве атрибута для Маршрута с использованием Reach Router?

Я хочу сделать защищенный маршрут, используя 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 () в Reach Router:

<Router>
        <Results path="/" />
        <Details path="/details/:id" />
</Router>

Как я могу сделать это с помощью Reach Router? Должен быть лучший способ, чем написание условий в методе render () внутри защищенного компонента.

0 ответов

Другие вопросы по тегам