HCL Commerce Version 9.1.8.0 or later

Création de composants Redux et Redux Saga

Vous avez besoin des composants Redux et Redux Saga pour créer le composant React de la vue de liste de présélection.

About this task

Pour créer des composants Redux et Redux Saga, procédez comme suit :

Procedure

  1. Créez un fichier wishList.ts dans le répertoire src/redux/action-types.
    • Ajoutez les types d'action Redux qui seront distribués dans les composants React.
      // Get current user's wish list
      export const WISHLIST_GET_REQUIRED = "WISHLIST_GET_REQUIRED";
      export const WISHLIST_GET_SUCCESS = "WISHLIST_GET_SUCCESS";
      export const WISHLIST_GET_ERROR = "WISHLIST_GET_ERROR";
      export const WISHLIST_RESET = "WISHLIST_RESET";
      
    • Enregistrez et fermez le fichier.
  2. Créez des actions Redux à partir des types d'action Redux mentionnés à l'étape 1. Créez un fichier wishList.ts dans le répertoire src/redux/actions.
    • Ajoutez le contenu suivant :
      //Standard libraries
      import { createAction } from "@reduxjs/toolkit";
      //Redux
      import * as ACTIONTYPES from "../action-types/wishList";
      
      const GET_USER_WISHLIST_ACTION = createAction<any>(
       ACTIONTYPES.WISHLIST_GET_REQUIRED
      );
      const WISHLIST_RESET_ACTION = createAction(ACTIONTYPES.WISHLIST_RESET);
      
      export { GET_USER_WISHLIST_ACTION, WISHLIST_RESET_ACTION };
    • Enregistrez et fermez le fichier.
  3. Créez un composant d'observateurs et d'agents Redux Saga.
    • Les observateurs Redux surveillent la distribution ou l'interception d'actions Redux.
    • Ils appellent également les fonctions de travail correspondantes qui appelleront éventuellement les services REST. Cet appel sera transmis aux réducteurs et les observateurs Redux stockeront finalement les résultats dans le magasin Redux.
  4. Créez un fichier wishList.ts dans le répertoire src/redux/sagas/watchers.
    • Ajoutez le contenu suivant :
      //Standard libraries
      import { takeLatest } from "redux-saga/effects";
      //Redux
      import * as ACTIONS from "../../action-types/wishlist";
      import * as WORKERS from "../workers/wishlist";
      
      /**
       * Wish List watch saga
       * watchers to intercept wish list actions
       */
      export function* watchSaga() {
        yield takeLatest(
          ACTIONS.WISHLIST_GET_REQUESTED,
          WORKERS.fetchWishListDetails
        );
      }
    • Enregistrez et fermez le fichier.
  5. Créez un fichier wishList.ts dans le répertoire src/redux/sagas/workers.
    • Ajoutez le contenu suivant :
      //Standard libraries
      import { call, put } from "redux-saga/effects";
      //Foundation libraries
      import wishListService from "../../../_foundation/apis/transaction/wishlist.service";
      //Redux
      import * as ACTIONS from "../action-types/wishList";
      
      /**
       * Saga worker to invoke get wish list details
       */
      export function* fetchWishListDetails(action: any) {
        try {
          const payload = action.payload;
      
          const response = yield call(wishListService.findwishlist, payload);
          const WishListData = response.data;
      
          yield put({
            type: ACTIONS.WISHLIST_GET_SUCCESS,
            response: wishListData,
          });
        } catch (error) {
          yield put({ type: ACTIONS.WISHLIST_GET_ERROR, error });
        }
      }
    • Enregistrez et fermez le fichier.
  6. Ouvrez le fichier index.ts dans le répertoire src/redux/sagas. Ajoutez l'instruction d'importation suivante :
    import * as WISHLIST from "./watchers/wishList";
  7. Ajoutez l'instruction suivante dans la fonction rootSaga :
    WISHLIST.watchSaga(),
  8. Enregistrez et fermez le fichier.
  9. Suivez Création de composants Redux Store pour créer les réducteurs, la variable d'état du magasin Redux et les sélecteurs pour obtenir la valeur dans les composants React.