我有一些異步中間件訪問遠程api並將其分派給Redux。最佳實踐:何時從異步調用中丟棄不需要的數據
我正在訪問一個現有的API,它返回一大塊數據,其中大部分是我不需要的。在數據中丟棄不需要的元素時,是否有任何確定的最佳做法?據我所知,我可以:
1 - 收到時過濾出來,只通過我需要的商店。
2 - 當接收到所有內容並使用選擇器或mapStateToProps提取我需要呈現的內容時,將所有內容存儲在存儲中。
3 - 存儲並提取所有內容,並過濾掉組件中需要的內容。
別人怎麼看?
我有一些異步中間件訪問遠程api並將其分派給Redux。最佳實踐:何時從異步調用中丟棄不需要的數據
我正在訪問一個現有的API,它返回一大塊數據,其中大部分是我不需要的。在數據中丟棄不需要的元素時,是否有任何確定的最佳做法?據我所知,我可以:
1 - 收到時過濾出來,只通過我需要的商店。
2 - 當接收到所有內容並使用選擇器或mapStateToProps提取我需要呈現的內容時,將所有內容存儲在存儲中。
3 - 存儲並提取所有內容,並過濾掉組件中需要的內容。
別人怎麼看?
如果您無法將API更改爲使用流或至少分頁之類的內容,請使用選項no。 1.
隨着中說的改變涉及任何操作的數據,過濾掉所有未使用的數據權當API響應的用武之地。
如果」再從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完成,減速將只包含小數據。