私たちのアプリでは、製品用の API を作成しましたが、1 ページあたり 15 個の制限があります。したがって、レデューサーは次のようになります。
collection: {
"total": 0,
"per_page": 0,
"current_page": 0,
"last_page": 0,
"from": 0,
"to": 0,
data: []
},
isFetching: false,
isFetchingError: false
最初の読み込みで、限られた量の製品を取得し、それからページネーションを作成しました.redux のセレクターを使用してhttps://github.com/rackt/reselect
何千ものデータを読み込むと、アプリが非常に遅くなります。
const paginated = (state = initialState, action) => {
switch (action.type) {
case FETCH_PAGINATED_PRODUCTS:
return {
...state,
isFetching: true,
isFetchingError: false
};
case FETCH_PAGINATED_PRODUCTS_SUCCESS:
return {
...state,
collection: action.payload,
isFetching: false
};
case FETCH_PAGINATED_PRODUCTS_ERROR:
return {
...state,
isFetching: false,
isFetchingError: true
};
default:
return state
axios
リクエスト
に使用しました: https://github.com/mzabriskie/axios