一般的なアプローチは、1つのcollections
レデューサーを持ち、コレクション名を引数とするアクション(例:GET_COLLECTION
)その名前の下にあるコレクションをキーとします。その後、定数を1つのファイルに減らすことができます。このファイルは、コレクションを文字列として、エンドポイントのURLのサブルートとしてリストします。
たとえば、/api/cars/
と/api/tyres/
で利用できるCarsオブジェクトとTiresのコレクションがあるとします。私たちは、すべての車を取得したい場合があります
const state = {
collections: {
CARS: [/*list of cars*/],
TYRES: [/*list of tyres*/],
}
}
:あなたは、フルコレクションの減速のようなものを見えるかもしれ状態で保存した場合、その後CARS = 'cars/'
とTYRES = 'tyres/'
、およびとしてこれらのルートのための定数を定義することができ、我々はgetCollection(CARS)
ようなものを使用でき、レジューサーが結果をstate.collections[CARS]
の下に保管することを期待する必要があります。
EDIT:に関する回答 - おそらくresponse
とitems
-
を応答状態を保存するのではなく、各コレクションを格納する配列(またはリスト)を使用して、あなたの代わりに2つのキーでオブジェクトを使用することができます。 response
オブジェクトは、コレクションを取得するのと同じアクションで更新する必要があります。要求が送信されると「PENDING」に設定され、応答が成功すると「SUCCESS」に設定され、応答が成功すると「FAILED」に設定されます。リクエストが失敗します。要求が失敗した場合は、これもエラーを格納する場所になります。
もう1つの共通のパターンは、上に示したようにレデューサー構造を維持し、応答状態用に別のレデューサーを作成することです。この場合も、コレクション・レデューサーと同じアクションに応答し、各コレクションの応答状態をオブジェクトに保管します。ここで、要求およびエラーに関する情報を保持できます。
ご意見ありがとうございました。異なる状態がある可能性があるため、コレクションのエラー、読み込み、およびその他の状態はどのようにコレクションに依存しますか? – Hakutsuru
上記の編集をご覧ください:) – Barnabus