2016-05-17 5 views
1

私はあなたの店をreduxで正規化することに関する多くの情報を参照します。しかし、グラフからデータを表示したいときはどうしますか?各エンティティは、私は自分の携帯電話上だデータを持っているreduxのnormalizrの後の正規化されていないエンティティ

私のデータは、この {:[[{...何とか}]}]} {章:[{割り当て]のコース}のように見えます。恐ろしいコードを書く。

私はページにそのデータを表示したいが、すべてのデータは正常である。さらに、IDは、3つのエンティティすべてのコンテナコンポーネントを持つようにします。

これは、正規化の有無にかかわらず、非常に難しいようです。それに対処するための推奨される方法がなければならない。

おかげ

答えて

1

あなたが必要とするデータのIDを受け入れた容器を作ることができます。コンテナのコンポーネントをストアに格納します。 Javascript Redux - how to get an element from store by id

を彼らが行ったようにあなたが同じモジュール内のコンポーネントを接続することができます定型を減らすために:その後、コンポーネントはそのためのコンテナuがチェックすることができ、IDSによってストアからデータを取得するに店舗を持つ子どもとその..に

を接続して作成します3つのビューの例:

https://github.com/reactjs/redux/tree/master/examples/tree-view

明らかにあなたのコンポーネントが(葉のコンポーネントを除く)もうそのダムではありません。この例であまりに

チェック:私はこれを回避まし At what nesting level should components read entities from Stores in Flux?

1

方法は、私は非正規化関数を介してReduxの状態から欲しかったオブジェクトを実行することでした。私はこれをmapStateToPropsの機能の中でやって、connectに渡しました。

あなたはコンテナレベルでこれを行うなら、あなたは選ぶと(そうconnectを使用せずに、再び非正規化の本当のメリットはありません)、その後に完全に非正規化、オブジェクトの一部が彼らのpropsを介して他のコンポーネントに送るものを選択することができます。

denormalizer関数では、denormalizrライブラリを使用できます。しかし、source codeを見れば、実際の関数はそれほど大きくはありません。例えば、あなたのニーズに合わせて修正し、Redux状態に直接つなげることができます。

関連する問題