2

私の react.js (Fluxxor) アプリケーションでは、さまざまなフォーム間を移動する必要があります。例: ログインコンポーネントは、ユーザーが認証されていない限り表示されます。ユーザーがログイン コンポーネントにログインすると、エントリ コンポーネント (またはその他のもの) のリストが表示されます。そこから、エントリの詳細コンポーネントを開くことができます (つまり、エントリのリスト コンポーネントを非表示にする必要があります)。

これに最適なアプローチは何ですか?

私が試したこと:

  • コンポーネントの交換(非表示にするコンポーネントのアンマウントと表示するコンポーネントのマウント)
  • DOM に複数のコンポーネントを持つ。(しかし、これは許可されていないようです/可能です)
  • すべての子コンポーネント (ログイン、リスト、詳細) を持つルート コンポーネントを持ち、そのストア クラスにコンポーネントが表示されるかどうかを決定させます)

ありがとう

4

1 に答える 1

4

私は 3 番目のアプローチに傾倒しています。このアプローチでは、1 つのコンポーネントがさまざまなコンポーネントをレンダリングすることによって、アプリケーションの「状態」を管理します。次に、コントローラー ビューは、子コンポーネントの登録と、必要に応じてストア/サービスとのやり取りを担当します。私は通常、反応ルーターを使用し、コントローラービューごとにトップレベルのルートを持っています。

次の疑似コードは構造を表しています。

<Router>
  <ControllerView>
   <SubComponent>
   <AnotherSubComponent>
  </ControllerView>

  <AnotherControllerView>
   <SubComponent>
   <AnotherSubComponent>
  </AnotherControllerView>
</Router>
于 2014-12-23T17:35:51.703 に答える