通过编程重定向到URL,无需使用react-router

时间:2019-05-09 11:53:39

标签: reactjs redirect redux

我在没有第三方路由器帮助的情况下运行SPA。我想重定向到函数中的外部URL。

显然href和安装路由器无法解决我的问题。

1 个答案:

答案 0 :(得分:1)

如果您想重定向到外部URL,而不是内部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>