我有一些异步中间件可以访问远程api并将其发送到Redux。
我正在访问一个返回大量数据的现有api,其中大部分都是我不需要的。是否存在何时从数据中丢弃不需要的元素的最佳实践?据我所知,我可以:
1 - 收到后将其过滤掉,只将我需要的东西传递给商店。
2 - 收到商品后将所有商品存储在商店中,并使用选择器或mapStateToProps仅提取我需要呈现的内容。
3 - 存储并提取所有内容并过滤掉组件中我需要的内容。
别人怎么想?
答案 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将只包含小数据。