2016-04-02 7 views
0

私は非常に短時間しか行っていないプロジェクトに取り組んでいます。すでにアプリケーション状態のさまざまな側面を管理し、比較的独立したフラックスストアは少数しかありません。Fluxの店舗を利用する

私は2つの質問があります:

存在する店舗の一部が変更イベントの複数のタイプを放出しているが。これは、店舗が別々の店舗にあるはずのあまり関係のないデータを扱っていることを示していますか、これは通常の状況ですか?

すでに存在する複数のストアに依存するReactコンポーネントを記述する必要があります。また、ページにレンダリングするための特定の情報を取得するためにサーバーに照会する必要があります。変更する。したがって、このコンポーネントをレンダリングするには、すべてのストアに必要なものが含まれていることを確認し、欠落しているものを取り込むアクションを実行する必要があります。私の質問は、これをどう対処するかについてです。コンポーネントによって必要とされる特定のデータをフェッチし、他のストアに依存する(通常のフラックスストア依存ルールを使用する)新しいストアを作成する方が良いでしょうか、コンポーネントが直接依存する特定のストアを知るようにしてください。

答えて

0

質問の最初の部分については、それが異なります。 Fluxはあなたに厳しいルールを強制することはありません。たとえば、Reduxは、すべて1つのストアのみを使用します。ほとんどすべてのコンポーネントに独自のストアがあり、ビューごとに単一のストアがあってデータモデルとすべての追加状態を処理するプロジェクトがありました。あなたのプロジェクト(サイズ、複雑さなど)の詳細を知らなくても、私はもう一方をお勧めできません。おそらくあなたとあなたのチームとリファクタが必要に応じて意味をなさない(つまり、あまりにも多くのファイルや単一のファイルに無関係なコードがたくさん含まれていると感じたら)最小限の数の店舗に行くでしょう。あなたの状況に最も適していて、最も快適になります。

その他の部分:すべてのストアのデータが移入された後でコンポーネントをレンダリングする必要があるため、サーバーデータを処理する新しいストアを導入し、DispatcherのwaitForメソッドを使用して依存関係を定義します。ストアを直接使用することを選択した場合は、ユーザー編集を行わないか無効にする部分にスピナーをロードして何らかの初期状態を使用してコンポーネントをレンダリングし、データを取得したら残りのデータを表示/編集できるように状態を更新できます。これにはより多くのコードが必要ですが、より良いUXが得られる可能性があります。繰り返しますが、すべてあなたのニーズに依存します。