Jestem nowy, aby React i mam nadzieję, że ktoś może rzucić trochę światła na to, dlaczego tak się dzieje i jak to debugować.Reaktor Router nie może uzyskać/zależnie od funkcji Onnternter
Mam następujące trasy zdefiniowane:
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
ma sprawdzić, czy użytkownik jest zalogowany i przekierować je do strony logowania, jeśli nie:
function requireAuth(nextState, transition) {
transition.to("/login");
}
Gdybym opuścić transtion.to
Zadzwoń i przejdź do głównego adresu URL Widzę komunikat "Nie mogę pobrać /" bez komunikatów o błędach w debugerze. Umieszczenie punktu przerwania w tej linii nie wydaje się nic.
Szczególnie dziwne jest to, że jeśli wymieniam transition.to(...)
z instrukcją debugger;
, to metoda zostanie wywołana, a routing działa doskonale.
Muszę mieć jakieś nieporozumienie, jakieś pomysły na to, co to jest?
Edycja: Powinienem dodać, że nawigacja do host:port/login
działa dobrze, więc wiem, że działa trasa login
.
Jaką wersję routera reagowania? 1.x? – walkerrandophsmith
Używam wersji 1.0.0-beta3 routera reagowania. Próbowałem uaktualnić wersję, której używałem, ale w końcu rozwiązałem ją w łatwiejszy sposób. – shieldstroy