2017-11-02 10 views
0

私はReduxをしばらく使っていますが、特定の形式(バックエンドDTO)でいくつかのAPIからリモートデータを取得しています。Reduxとリモート/ローカルデータ構造の変換

実際に私がサービスから得ているデータ構造は、私が使いたいものではないということです。私はクライアント側に関連する特定のものを使用したい(クライアント側のモデルと呼ばれる縮小結合)。

私の質問は:リモートデータを特定のデータ構造でクライアントサイドモデルに変換するとしますか?

私は複数のプロジェクトに取り組んできた、人々がこれを行うためにさまざまな方法を使用しているようだ:redux-thunkを使用して

  • 、サンクの内部で、彼らは地元のもの

  • にリモートオブジェクトをマップ
  • LOAD_REMOTE_DATAアクションを使用すると、Reduxリデューサによって管理され、新しいCOMPUTE_LOCAL_DATAをディスパッチすることのみを目的とします。

これらの2つのアプローチを使用している間、私は少し奇妙な、2つの方法の中の匂いのようになります。それは私が何かを見逃しているのと同じです。リモートとローカルの構造の間に会話レイヤーがありません...

+1

新しい状態を返す前に、データをフォーマットするために、いくつかのモデリング機能を呼び出して、アクションと一緒に、ターゲット減速(S)からであるとしてだけでリモートデータを渡すことをお勧めします新しい州を返す前に、モデリングを行うためのいくつかの関数を呼び出します。 –

+0

私はreduxが特定のデータ構造形式しか扱えないということを念頭に置いています。このように、複数のレデューサーで複数の変換を管理する必要はありません。構造だけを扱い、それに対処する – mfrachet

答えて

1

この回答は多分おもしろいかもしれません。私は外部APIを呼び出すためにredux-sagaを使用しています。私は個人的にあなたが言及したアプローチをスキップします。

  1. サンクアプローチ:サンク/佐賀コードを再利用することができるように、私は(特定のデータmodelingsを回避し、ひいては)ジェネリックサンクまたはサーガを続けるだろう。
  2. LOAD_REMOTE_DATAアプローチ:これをやっていると感じたら、モデリングを行うためにカスタムreduxミドルウェアを実装する方がよいでしょう。

私は、リモート・データを渡していないのはなぜ

関連する問題