2017-05-25 109 views
1

我有兩個頁面,管理員和登錄頁面。如果用戶未登錄管理頁面必須重定向到登錄頁面,並且用戶登錄頁面必須重定向到管理頁面。Configuration react-router v4

在react-router v3中我有onEnter和onChange方法,在這種方法中我可以獲得存儲並查看用戶是否登錄並且不在路徑中,但是在v4中不存在這個方法,所以包含onEnter和onChange的所有邏輯我必須在組件中放入方法,例如componentWillReceiveProps

謝謝!

回答

1

是的。在react-router v4中,路由被認爲是另一種類型的組件。如果瀏覽器位置與給定路徑匹配,那麼Route就是一個呈現另一個給定組件的組件,而這就是它的全部功能。由於這個設計決定,爲路線另外設置一組生命週期方法並沒有什麼意義,我們可以改爲使用React組件生命週期方法。根據我的經驗,它幾乎涵蓋了react-router v3生命週期鉤子所支持的所有用例。

就你而言,你可以簡單地將條件<Redirect/>標記放在你的管理組件和登錄組件的JSX中以使其工作。另外,這種情況在新的反應路由器4 中得到了很好的解釋。