A1Home.ts 873 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { A1_itemType, A1_selectType } from "@/types";
  2. // 初始化状态
  3. const initState = {
  4. // 列表
  5. list: [] as A1_itemType[],
  6. // 总条数
  7. total: 0,
  8. // 下拉数据
  9. select: {
  10. type: [],
  11. age: [],
  12. } as A1_selectType,
  13. };
  14. // 定义 action 类型
  15. type Props =
  16. | { type: "home/setList"; payload: A1_itemType[] }
  17. | { type: "home/setSelect"; payload: A1_selectType }
  18. | { type: "home/setTotal"; payload: number };
  19. // 频道 reducer
  20. export default function loginReducer(state = initState, action: Props) {
  21. switch (action.type) {
  22. // 列表
  23. case "home/setList":
  24. return { ...state, list: action.payload };
  25. // 下拉数据
  26. case "home/setSelect":
  27. return { ...state, select: action.payload };
  28. // 总条数
  29. case "home/setTotal":
  30. return { ...state, total: action.payload };
  31. default:
  32. return state;
  33. }
  34. }