最佳实践:何时从异步调用中丢弃不需要的数据

时间:2017-08-18 10:45:51

标签: reactjs redux

我有一些异步中间件可以访问远程api并将其发送到Redux。

我正在访问一个返回大量数据的现有api,其中大部分都是我不需要的。是否存在何时从数据中丢弃不需要的元素的最佳实践?据我所知,我可以:

1 - 收到后将其过滤掉,只将我需要的东西传递给商店。

2 - 收到商品后将所有商品存储在商店中,并使用选择器或mapStateToProps仅提取我需要呈现的内容。

3 - 存储并提取所有内容并过滤掉组件中我需要的内容。

别人怎么想?

2 个答案:

答案 0 :(得分:1)

如果您无法更改API以使用类似流或至少分页的内容,请使用选项号。 1.

  • 尝试使用最少量的数据来执行此操作 工作。这是一般规则,并不仅适用于 终极版!
  • 尽量让商店尽量保持平稳。
  • 尽量减少导致商店更改的所有操作中涉及的数据

话虽如此,在API响应进入时立即过滤掉所有未使用的数据。

答案 1 :(得分:0)

如果你从API获得大量类似的数据:

<强> API

"payload": {
"info": [ ... large ...],
"meta": [ ... small ...],
}

在Redux操作操作中,请确保仅使用小数据。例如在你的减速机

<强>减速

function reducer(store, action) {
  switch (action.payload) {
    case 'GET_API':
      store = {...store, meta: action.payload.meta }
      }
      break;
    default:
      break;
  }
  return store
}

所以现在,你不再拥有那么大的数据了,一旦API完成,reducer将只包含小数据。