Sono nuovo di reagire e sperando che qualcuno possa far luce sul perché questo sta accadendo e come eseguire il debug di esso.Reagire Router Can not Get/a seconda della funzione onEnter
ho i seguenti itinerari definiti:
export default (withHistory, onUpdate) => {
const history = withHistory?
(Modernizr.history ?
new BrowserHistory
: new HashHistory)
: null;
return (
<Router history={history}>
<Route path='/login' component={Login} />
<Route path='/' component={Home} onEnter={requireAuth} />
</Router>
);
};
requireAuth
si suppone per controllare se l'utente è connesso e li reindirizza alla pagina di login, se non:
function requireAuth(nextState, transition) {
transition.to("/login");
}
Se lascio il transtion.to
chiama e naviga fino all'URL di root. Vedo semplicemente un messaggio che dice "Impossibile ottenere /" senza messaggi di errore nel debugger. Mettere un punto di interruzione su quella linea non sembra fare nulla.
Ciò che è particolarmente strano è che se sostituisco transition.to(...)
con un'istruzione debugger;
, il metodo viene chiamato e il routing funziona perfettamente.
devo avere un malinteso su qualcosa, tutte le idee su cosa si tratta?
Modifica: Devo aggiungere che la navigazione su host:port/login
funziona correttamente, quindi so che il percorso login
funziona.
Quale versione di react-router? 1.x? – walkerrandophsmith
Sto usando la versione 1.0.0-beta3 del react-router. Ho provato ad aggiornare la versione che stavo usando, ma ho finito per risolverlo in un modo più semplice. – shieldstroy