Переадресация на сторонний URL-адрес с использованием response-router-dom - PullRequest
0 голосов
/ 11 марта 2019

Я очень хорошо знаю о реагирующем маршрутизаторе, который я хочу сделать условным рендерингом компонента.Если пользователь не вошел в систему, перенаправьте его, например, на сторонний URL

, приведенный ниже код выглядит аккуратно и работает нормально

<Route exact path="/home" render={() => (
  isLoggedIn() ? (
    <Redirect to="/front"/>
  ) : (
   <Home />
  )
)}/>

Скажем, в приведенном выше примере, если я хочу перенаправитьto https://www.google.com как я могу это сделать?

, если я напишу

 <Redirect to="https://www.google.com"> it gives me error. 

Как я могу перенаправить на сторонний веб-сайт?

Ответы [ 2 ]

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

Вы можете использовать тег для внешних URL,

<a href='https://domain.extension/external-without-params'>external</a>

, но вы также можете предоставить такой компонент:

<Route path='/external' component={() => { window.location = 'https://domain.extension/external-without-params'; return null;} }/>
1 голос
/ 11 марта 2019

Вы можете использовать window.open() для перенаправления на любой веб-сайт.

Например:

window.open('https://www.google.com');

реализовать перенаправление в вашем коде:

render () {
  if(this.isLogin) {
    return(/* your components*/);
  } else {
    window.open('https://www.google.com');
    return (<div></div>); //render function should return something
  }
}

Вы также можете указать целевой атрибут или имя окна, более подробную информацию см. В w3school руководстве по этой функции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...