Ok, tôi chán ngấy.
Phương thức onEnter
không hoạt động. Bất kỳ ý tưởng tại sao là điều đó?onEnter không được gọi trong React-Router
// Authentication "before" filter
function requireAuth(nextState, replace){
console.log("called"); // => Is not triggered at all
if (!isLoggedIn()) {
replace({
pathname: '/front'
})
}
}
// Render the app
render(
<Provider store={store}>
<Router history={history}>
<App>
<Switch>
<Route path="/front" component={Front} />
<Route path="/home" component={Home} onEnter={requireAuth} />
<Route exact path="/" component={Home} onEnter={requireAuth} />
<Route path="*" component={NoMatch} />
</Switch>
</App>
</Router>
</Provider>,
document.getElementById("lf-app")
Edit:
Phương pháp này được thực hiện khi tôi gọi onEnter={requireAuth()}
, nhưng rõ ràng đó không phải là mục đích, và tôi cũng sẽ không nhận được các thông số mong muốn.
Bạn đang sử dụng phiên bản phản ứng-bộ định tuyến nào? –