ユースケースは、ユーザーがログインしているかどうかに基づいてルート(/)を2つの異なるコンポーネントのいずれかにマップすることです。これらの2つのコンポーネントを別々のバンドルに置いて、 render()メソッドにログインチェックを入れることはできません。同じReact Routerルートのさまざまなコンポーネントを条件付きで読み込んでレンダリングする明確な方法はありますか?
コンポーネントを遅延ロードするためにrequire.ensure()で動的ルート定義を使用しようとしましたが、初めて動作しますが、ログイン状態を変更してもコンポーネントは更新されません別のルートと/に戻る)。 ルーターを含むコンポーネントにpropsを手動で設定し、それをRedux接続されたコンポーネントに設定して強制的にルーターのレンダリングを試みました。また、リスナーをReduxストアに追加してコンポーネントの状態を変更しようとしました。ログインの変更に対する応答ですが、すべての試行で「変更することはできません;無視されます」というエラーが表示され、コンポーネントは変更されません。
私の醜い解決策は、ルータの外部にある別のコンポーネント読み込みコードを持ち、ログイン状態の変化を聞いて、一致するコンポーネントをロードし、それをrender()で参照されるラッピングコンポーネントの状態に設定することです。コード。私が欲しいことをするためのきれいな "React-Router-ish"の方法はありますか?