Je travaille sur l'application React/Redux, je dois supprimer l'adresse de l'utilisateur, j'utilise redux saga comme middleware, la fonctionnalité fonctionne bien, mais le problème est après la suppression de l'adresse la demande n'est pas entrée deleteAddressByBuyerIdAddressIdSuccess (dans le fichier saga.js), il entre dans seulement deleteAddressByBuyerIdAddressId et deleteAddressByBuyerIdAddressIdFailure (avoir vérifié dans les outils de développement Redux), peut me aider à régler ce problème,redux saga supprimer la fonctionnalité
My toutes les fonctionnalités et capture d'écran des outils de développement redux est donnée ci-dessous
Fichier d'action
/* Delete an address for a buyer */
const deleteAddressByBuyerIdAddressId =
(buyerId: string, addressId: string, address: Object, params: string) => ({
type: Types.DELETE_ADDRESS_BY_BUYER_ID_ADDRESS_ID,
buyerId,
addressId,
address,
params,
});
const deleteAddressByBuyerIdAddressIdSuccess =
(buyerId: string, addressId: string, address: Object, params: string) => ({
type: Types.DELETE_ADDRESS_BY_BUYER_ID_ADDRESS_ID_SUCCESS,
buyerId,
addressId,
address,
params,
});
const deleteAddressByBuyerIdAddressIdFailure =
(errorMessage: Object) => ({
type: Types.DELETE_ADDRESS_BY_BUYER_ID_ADDRESS_ID_FAILURE,
errorMessage,
});
fichier Saga
/* Delete Buyers address */
function* deleteAddressByBuyerIdAddressId(action) {
try {
const response = yield call(
api.account.deleteAddressByBuyerIdAddressId,
action.buyerId,
action.addressId,
action.address,
action.params
);
if (response.ok && response.data && {}.hasOwnProperty.call(response.data, 'data')) {
yield put(
Actions.deleteAddressByBuyerIdAddressIdSuccess(
action.buyerId,
action.addressId,
response.data,
action.address,
action.params
)
);
} else {
yield put(Actions.deleteAddressByBuyerIdAddressIdFailure(response.errorMessage));
}
} catch (error) {
yield put(Actions.deleteAddressByBuyerIdAddressIdFailure(error));
}
}
function* watchDeleteAddressByBuyerIdAddressId(): Generator<void, void, void> {
yield takeLatest(Types.DELETE_ADDRESS_BY_BUYER_ID_ADDRESS_ID, deleteAddressByBuyerIdAddressId);
}
Reducers
export const deleteAddressByBuyerIdAddressId = (state: Object = INITIAL_STATE) => ({
...state,
isLoading: true,
successMessage: null,
errorMessage: null,
});
export const deleteAddressByBuyerIdAddressIdSuccess = (state: Object = INITIAL_STATE, action: Object) => {
const successMessage = I18n.getText('account.address-deleted', {}, 'Address deleted!');
return {
...state,
address: action.address,
successMessage: successMessage,
}
};
export const deleteAddressByBuyerIdAddressIdFailure = (state: Object = INITIAL_STATE, action: Object) => ({
...state,
errorMessage: action.errorMessage,
isLoading: false,
});
outils de développement redux voir
Votre programme est en cours de prise ou il va dans autre? –
oui, mon programme va dans le catch ou sinon bloquer, car leur est nulle en réponse après la suppression de l'adresse de l'utilisateur, pouvez-vous me dire s'il vous plaît sollution, merci d'avance – wali
Si vous obtenez réponse null, alors il a être un problème avec votre fonction 'call'. –