Программно перенаправить на URL без реакции-маршрутизатора - PullRequest
0 голосов
/ 09 мая 2019

Я использую SPA без помощи стороннего маршрутизатора.Я хочу перенаправить на внешний URL-адрес внутри функции.

Очевидно, что href и установка маршрутизаторов не решают мою проблему.

1 Ответ

1 голос
/ 09 мая 2019

Если вы хотите перенаправить на внешний URL, а не на что-то внутреннее, то это проще. Вы получаете объект window.location и можете сделать это возможным. Я могу понять, почему <a href> не будет правильным выбором, чтобы сделать это программно.

Ниже работает отлично. Я использовал setTimeout для имитации программного перенаправления.

class App extends React.Component {
  componentDidMount() {
    setTimeout(() => {
      window.location.href = 'https://praveen.science/';
    }, 1000);
  }
  render() {
    return (
      <div className="App">
        <h1>Hello CodeSandbox</h1>
        <h2>Start editing to see some magic happen!</h2>
      </div>
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...