Ich arbeite an React/Redux-Anwendung, muss ich Benutzeradresse löschen, verwende ich Redux Saga als Middleware, die Funktionalität funktioniert gut, aber das Problem ist nach dem Löschen der Adresse die Anfrage nicht eingeben deleteAddressByBuyerIdAddressIdSuccess (in saga.js Datei) ist es nur deleteAddressByBuyerIdAddressId und deleteAddressByBuyerIdAddressIdFailure (überprüft in redux Entwickler-Tools) eintritt, kann mir jemand helfen, dieses Problem zu klären,Redux Saga Löschen von Funktionalität
Meine alle Funktionen und Screenshot von Redux-Entwickler-Tools ist unter
angegebenAction Datei
/* 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,
});
Saga Datei
/* 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,
});
redux Entwickler-Tools ansehen
Ihr Programm ist in Fangen oder geht es sonst? –
Ja, mein Programm geht in den Catch oder sonst blockieren, weil ihre Null ist Antwort nach dem Löschen der Benutzeradresse, können Sie mir bitte Lösung dafür, vielen Dank im Voraus – wali
Wenn Sie bekommen 'null' Antwort dann hat es ein Problem mit Ihrer "Anruf" -Funktion sein. –