2

したがって、私が理解しているように、再選択は、異なる状態ツリー部分間の派生状態、または異なるレデューサーからの派生状態に適しています。しかし、次のようなものがある場合はどうなりますか:

<ul>
  <li onClick="this.getItems({id: 122})">Item 1
  <li onClick="this.getItems({id: 342})">Item 2
  <li onClick="this.getItems({id: 8767})">Item 3
  <li onClick="this.getItems({id: 12})">Item 4
</ul>

など..基本的に、私は状態データなどの構成を導出していませんが、以前に「要求された呼び出し」を提供することにより、繰り返しアクション/リデューサー呼び出しを「制限」したいと考えています。それで、Reselectはこれに適していますか?もしそうなら、一般的な例。私が見た例は、派生状態を計算します。解決策として、以前に要求されたデータがある場合はそれを返すメモ化/キャッシュ関数でアクションを装飾することを考えていました。つまり..

@cachedProductItem
export function getItems({id}) {
  // if id is cached, return it from the decorator wrapped component, else
  // call the action
  return {
    type: .....,
    id
  }
}
4

1 に答える 1