Реагировать Маршруты перенаправить на внешний URL для ссылок аутентификации - PullRequest
0 голосов
/ 18 марта 2019

У меня есть пример кода, где я пытаюсь перенаправить пользователей, которые еще не вошли в систему.Я использую внешнюю аутентификацию, чтобы отправить пользователя для входа через стороннюю систему аутентификации.Я знаю, что реакции-маршруты имеют опцию Redirect, и я понимаю, что они перенаправляют только на пути.Есть ли способ сделать так, чтобы перенаправление происходило с window.assign, который перенаправляет пользователей сразу на другую страницу?

Заранее спасибо!

const ProtectedRoute = (auth, component: Component, ...rest) => {
  return <Route
    {...rest}
    render={props => auth.isAuthenticated()
      ? <Component {...props} />
      : <Redirect
        to={{
          pathname: 'http://example.com/',
          state: { from: props.location },
        }}
      />
    }
  />;
};

1 Ответ

2 голосов
/ 18 марта 2019

Вы можете оценить параметры ведения журнала в хуке componentDidMount вашего компонента и использовать window.location для перенаправления на совершенно другой URL. Например:

componentDidMount() {
    if(auth.isAuthenticated()) {
      return <Component {...props} />
    }
    window.location.assign('http://example.com/');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...