2016-11-10 29 views
1

喜後,我使用erikras' react-redux-universal-hot-example重定向登錄到原來的網址中反應路由器

我的問題是,我試圖訪問一個頁面讓說,‘/聊天’,這樣做我應該被重定向到「/ login」頁面,因爲它需要驗證。一旦我完成身份驗證,我應該重定向到原來的「/聊天」網址。

我試圖使用onEnter鉤,但沒有奏效。目前,登錄後,我們將用戶重定向到「/ loginSuccess」頁默認(硬編碼)

在此先感謝所有幫助

回答

2

這是我怎麼會從高位接近這個...

  1. 當您重定向到/login時,將當前路線添加到下一個路線的位置狀態。
  2. 處理登錄。
  3. 導航到/loginSuccess時,請檢查您最初傳遞的路線的位置狀態,然後重定向到該位置。

它看起來是這樣的......

// function passed to the onEnter to handle authentication check 
redirectIfNotLoggedIn(nextState, replace) { 
    if (notLoggedIn) { 
    replace({ 
     pathname: '/login', 
     state: { 
     redirectTo: nextState.location.pathname 
     } 
    }) 
    } 
} 

// function passed to the onenter to handle loginSucesss redirect 
redirectAfterLoggedIn(nextState, replace) { 
    if(nextState.location.state.redirectTo) { 
    replace(nextState.location.state.redirectTo) // you might need to prepend '/' 
    } 
}