Tôi có một bộ định tuyến như sau:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
Đây là những gì tôi muốn đạt được:
- Chuyển hướng người dùng đến
/login
nếu chưa đăng nhập - Nếu người dùng cố gắng truy cập
/login
khi họ đã đăng nhập, hãy chuyển hướng họ đến root/
vì vậy bây giờ tôi đang cố gắng để kiểm tra trạng thái của người dùng ở App
's componentDidMount
, sau đó làm như sau:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
Vấn đề ở đây là tôi không thể tìm thấy API để lấy tuyến đường hiện tại.
Tôi nhận thấy vấn đề đã đóng này được đề xuất bằng cách sử dụng bộ xử lý hỗn hợp Router.ActiveState và định tuyến, nhưng có vẻ như hai giải pháp này hiện không được dùng nữa.