category.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import * as types from "../constants/actionTypes";
  2. const initState = {
  3. allCategory: [],
  4. mainCategory: [],
  5. podcategory: [],
  6. isFetching: false,
  7. error: null
  8. };
  9. export default (state = initState, { type, payload }) => {
  10. switch (type) {
  11. case types.CATEGORY_REQUEST: {
  12. return {
  13. ...state,
  14. isFetching: true
  15. }
  16. }
  17. case types.CATEGORY_REQUEST_SUCCESS: {
  18. return {
  19. ...state,
  20. isFetching: false,
  21. allCategory: payload,
  22. mainCategory: payload.data.filter(el => el.parentId === 0)
  23. }
  24. }
  25. case types.CATEGORY_REQUEST_FAIL: {
  26. return {
  27. ...state,
  28. isFetching: false,
  29. error: "ERROR"
  30. }
  31. }
  32. case types.POD_CATEGORY: {
  33. return {
  34. ...state,
  35. podcategory: state.allCategory.filter(el => el.parentId === payload),
  36. }
  37. }
  38. default: return state;
  39. }
  40. };