2017-06-09 21 views
3

如果用戶訪問'mysyte.com/app',我想將他重定向到'mysyte.com/app/login',更改瀏覽器中的網址。在ReactJS中,有更好的方法可以將url從url重定向到另一個url?

我設法用下面的代碼來做到這一點:

import React from "react"; 
import ReactDOM from "react-dom"; 
import { BrowserRouter, Route, Switch, Redirect } from 'react-router-dom'; 
import Login from "./login/login" 

ReactDOM.render(
    <BrowserRouter> 
     <Switch> 
      <Route path="/app/login" component={Login}/> 
      <Route path="/app" render={() => <Redirect push to="/app/login" /> } /> 
     </Switch> 
    </BrowserRouter>, 
    document.getElementById("app") 
) 

正如我在我反應過來第一個星期,我想知道是否有更好的方法來做到這一點。

在此先感謝。

+1

看到這個以及https://stackoverflow.com/questions/44127739/trying-to-change-the-routing-url-based-on-a-specific-condition-in-react/44128108?lipi=urn %3Ali%3Apage%3Ad_flagship3_messaging%3BAraXqm6yS4%2BOyQqpdrg61w%3D%3D#44128108 –

回答

4

您應該能夠直接使用Redirect作爲一個組成部分,像這樣:

<Switch> 
    <Route path="/app/login" component={Login} /> 
    <Redirect from="/app" to="/app/login" push /> 
</Switch> 

Check out the documentation for this

+1

謝謝!我已經編輯了你的答案,因爲如果'Redirect'作爲第一行出現,我正在獲得404狀態。 – reinaldoluckman

相關問題