私は、これが起こっている理由とそれをデバッグする方法について、誰かが明らかにすることができます。React RouterはonEnter関数を取得できません/
は、私は、次のルートが定義されている:私はままにしておくと
function requireAuth(nextState, transition) {
transition.to("/login");
}
:
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
は、ユーザーがログインしているかどうかを確認していない場合は、ログインページにリダイレクトすることになっていますtranstion.to
を呼び出してルートURLを参照します。デバッガにエラーメッセージが表示されず、「Can not Get /」というメッセージが表示されます。その行にブレークポイントを置くことは何もしないようです。
特に奇妙なのは、transition.to(...)
をdebugger;
ステートメントに置き換えると、メソッドが呼び出され、ルーティングが正常に機能するということです。
私は何かについて誤解を持っていなければなりません。
編集:私はhost:port/login
にナビゲートすることがうまく動作するので、login
のルートが動作することを知っておく必要があります。
react-routerのバージョンは? 1.x? – walkerrandophsmith
反応ルータのバージョン1.0.0-beta3を使用しています。私が使用していたバージョンをアップグレードしようとしましたが、簡単な方法で解決しました。 – shieldstroy