In questo momento, il mio router si presenta come segue:utente reindirizzamento in base allo stato in Reagire
<Router history={browserHistory}>
<Route component={Provider}>
<Route path="/" component={AppPage}>
<Route path="login" component={LoginPage}/>
<Route component={LoggedinPage}>
<Route path="onboarding" component={OnboardingPage}/>
<Route component={OnboardedPage}>
<IndexRoute component={HomePage}/>
<Route path="settings" component={SettingsPage}/>
</Route>
</Route>
</Route>
</Route>
</Router>
LoggedinPage
reindirizza al /login
se l'utente non è connesso e OnboardedPage
reindirizza /onboarding
se l'utente non ha completato il flusso di onboarding (scelta del nome utente, ecc.). Tuttavia, penso che più di questi reindirizzamenti condizionali potrebbero essere necessari in futuro. Qual è il modo migliore per gestire questi reindirizzamenti condizionali? È possibile avere un singolo componente che gestisca tutti i reindirizzamenti?
Dovrò analizzare l'URL manualmente in questo modo giusto? Come se avessi bisogno di 'if (localStorage.jwt === null &&! Window.location.pathname.match (/^\/login (\/| $) /))' C'è un modo per farlo e continuare a usarlo React Router per analizzare l'URL? –
Ho risposto alla mia risposta. Quindi, basta importare questa funzione e chiamarla nella porzione di rendering del componente a cui si sta eseguendo il routing. –