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
Procedure
-
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.
- Ajoutez les types d'action Redux qui seront distribués dans les composants React.
-
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.
- Ajoutez le contenu suivant :
-
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.
-
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.
- Ajoutez le contenu suivant :
-
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.
- Ajoutez le contenu suivant :
-
Ouvrez le fichier index.ts dans le répertoire src/redux/sagas. Ajoutez l'instruction d'importation suivante :
import * as WISHLIST from "./watchers/wishList"; -
Ajoutez l'instruction suivante dans la fonction rootSaga :
WISHLIST.watchSaga(), - Enregistrez et fermez le fichier.
- 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.