私は、そのエンティティが同じタイプの子を持つことができるレデューサーを実装する方法について少し考えています。Reduxレデューサーのツリー型エンティティの処理方法は?
レットダイジェストを例に挙げてみましょう:各コメントは、コメントなどを持つことができる子コメントを持つことができます。 簡略化の理由から、コメントは{id、pageId、value、children}タイプのレコードであり、pageIdはredditページ。
どのように減速機をモデル化すればよいでしょうか?私は、減速機をpageIdを使ってページごとにフィルタリングできるコメントのマップIDにすることを考えていました。
たとえば、ネストされたものにコメントを追加する場合は、マップのルートにレコードを作成し、そのIDを親の子プロパティに追加する必要があります。すべてのコメントを表示するにはそれらのすべてを取得し、上部にあるものをフィルタリングする必要があります(これは、たとえばorderedListとしてページリデューサ内に保持されます)。その後、反復処理を行い、子供が出会ったときにコメントオブジェクトから取得します。再帰。
より良いアプローチがありますか、それとも欠陥がありますか?
私はnormalizrを試すことができると思います:https://github.com/gaearon/normalizr自分で使っていないので、あなたの場合に役立つかどうかはわかりません。 – Simon
私はnormalizrについて知っています、コンポーネントでそれをどう扱うかについて「受け入れられた」解決策があるかどうかさらに疑問に思います。 コメントごとにconnect()をしない限り、各変更時にnormalizrの反対を行う必要があります。接続しても混乱のように見えます。 –