Ich bin neu in Reagieren und hoffen, dass jemand etwas Licht auf warum dies passiert und wie es debuggen kann.React Router kann nicht bekommen/abhängig von onEnter Funktion
Ich habe die folgenden Routen definiert:
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
soll überprüfen, ob der Benutzer angemeldet ist, und leiten sie an die Login-Seite, wenn nicht:
function requireAuth(nextState, transition) {
transition.to("/login");
}
Wenn ich die verlassen transtion.to
rufen Sie auf und navigieren Sie zur Stamm-URL Ich sehe nur eine Nachricht, die sagt, "Kann nicht erhalten /" ohne Fehlermeldungen im Debugger. Einen Haltepunkt auf dieser Linie zu setzen scheint nichts zu tun.
Was ist besonders seltsam ist, dass, wenn ich transition.to(...)
durch eine debugger;
Anweisung ersetzen, dann wird die Methode aufgerufen und Routing funktioniert einwandfrei.
Ich muss ein Missverständnis über etwas haben, irgendwelche Ideen, was das ist?
Edit: Ich sollte hinzufügen, dass die Navigation zu host:port/login
funktioniert gut, so dass ich die login
Route funktioniert.
Welche Version von React-Router? 1.x? – walkerrandophsmith
Ich benutze Version 1.0.0-Beta3 von React-Router. Ich habe versucht, die Version, die ich verwendet habe, zu aktualisieren, aber am Ende habe ich es einfacher gelöst. – shieldstroy