używając „reagują-router”: „^ 3.0.2”,jak zresetować reagowania-router na przeładowanie strony
Kiedy robię przeładowania strony jest mi potrzebny, aby przejść do widoku domyślnego, który w tej chwili robić. Jednak faktyczna trasa, która jest w historii, jest wciąż taka sama jak ta, z której zrobiłem odświeżenie. Ten komponent ponownie się montuje, gdy nie powinien.
Historia trasy
export const browserHistory = useRouterHistory(useBeforeUnload(createHistory))()
trasy
<Router history={browserHistory}>
<Route path='/' name='Auth' component={Auth}>
<IndexRoute
component={Dashboard}
onEnter={(nextState, replace) => replace('/login')} />
<Route path='dashboard' name='Dashboard' component={Dashboard} />
<Route path='resources' name='Resources' component={Resources} />
<Route path='users' name='Users' component={UsersContainer} />
<Route path='user/:params' name='User' component={UserContainer} />
</Route>
<Route path='/' name='NoAuth' component={NoAuth}>
<Route path='login' name='Login Page' component={Login} />
</Route>
</Router>
Oto jak sprawdzić, czy użytkownik nadal ma ważny token sesji, i jak przekierować na desce rozdzielczej. Nie jestem pewien, czy robię to w najlepszy możliwy sposób.
const _checkAuth =() => {
if (profile) {
const res = JSON.parse(profile)
store.dispatch({ type: types.LOGIN_IDENTITY_SUCCESS, res })
console.log(browserHistory.getCurrentLocation().pathname)
router.replace('/dashboard')
}
}
_checkAuth()