home.ts 786 B

1234567891011121314151617181920212223242526272829
  1. import { HomeSortType, HomeModelType } from "@/types"
  2. // 初始化状态应用注解
  3. const initState = {
  4. sortList: [] as HomeSortType[],
  5. ageList: [] as HomeSortType[],
  6. modelInfo: {} as HomeModelType
  7. }
  8. type HomeActionType =
  9. | { type: 'home/setSort', payload: HomeSortType[] }
  10. | { type: 'home/setAge', payload: HomeSortType[] }
  11. | { type: 'home/setList', payload: HomeModelType }
  12. // 频道 reducer
  13. export default function loginReducer(state = initState, action: HomeActionType) {
  14. switch (action.type) {
  15. case 'home/setSort':
  16. return { ...state, sortList: action.payload }
  17. case 'home/setAge':
  18. return { ...state, ageList: action.payload }
  19. case 'home/setList':
  20. return { ...state, modelInfo: action.payload }
  21. default:
  22. return state
  23. }
  24. }