actionGoodPage.js 780 B

12345678910111213141516171819202122232425
  1. import { put, take } from "redux-saga/effects";
  2. import { actionPromiseClear } from "../reducers";
  3. import { actionCatAll } from "./actionCatAll";
  4. import { actionGoodById } from "./actionGoodById";
  5. import { actionPromisesClear } from "./actionPromisesClear";
  6. export const actionGoodPage = ({ _id, promiseName } = {}) => ({
  7. type: "GOOD_PAGE",
  8. payload: { _id, promiseName },
  9. });
  10. export function* goodPageWorker(action) {
  11. const { _id, promiseName = "goodById" } = action.payload;
  12. yield put(actionCatAll());
  13. if (_id) {
  14. yield put(actionGoodById({ _id, promiseName }));
  15. } else {
  16. yield put(actionPromiseClear(promiseName));
  17. }
  18. yield take("GOOD_PAGE_CLEAR");
  19. yield put(actionPromisesClear([promiseName, "goodUpsert", "goodsAll"]));
  20. }