2017-05-25 27 views
1

私は管理ページとログインページの2つのページを持っています。ログインしていないユーザーがログインページにリダイレクトする必要があり、ユーザーがログインページを管理ページにリダイレクトする必要がある場合。設定反応ルータv4

私はonEnterとonChangeメソッドを持っていますが、このメソッドでは、ユーザーがログインしていないかどうかを調べることができます。replaceルートですが、v4ではこのメソッドが存在しないため、onEnterとonChange私がコンポーネントに入れなければならないメソッドは、例えばcomponentWillReceivePropsにありますか?

ありがとうございました!

答えて

1

はい。反応ルータv4では、ルートは別のタイプのコンポーネントとみなされます。ブラウザの場所が指定されたパスと一致する場合、指定された別のコンポーネントをレンダリングするコンポーネントです。この設計上の決定のために、Route専用の別のライフサイクルメソッドセットを持つことはあまり意味がありません。代わりにReactコンポーネントのライフサイクルメソッドを活用することができます。私の経験では、ほとんどが反応ルータv3ライフサイクルフックでサポートされているすべてのユースケースをカバーしています。

あなたの場合は、条件付きの<Redirect/>タグを管理コンポーネントのJSXとログインコンポーネントに入れて、動作させることができます。また、このシナリオは新しい反応ルータ4 docsでうまく説明されています。

関連する問題