[Redux][Axios][React] Agregar el estado de redux dentro de un archivo axios / action.
Quiero agregar/cambiar un estado de redux cuando se recibe información desde el backend. Este estado controla un spinner de carga.
El código a continuación es lo que pensé que debería funcionar.
¿Qué me falta?
CouriersActions.js
import axios from "axios";
import { toastOnError } from "../../utils/Utils";
import { GET_COURIERS, ADD_STATE_LOADING } from "./CouriersTypes";
export const addStateLoading = (state_loading) => ({
type: ADD_STATE_LOADING,
state_loading,
});
export const getCouriers = () => dispatch => {
var tempx = {show: true};
addStateLoading(tempx);
axios
.get("/api/v1/couriers/")
.then(response => {
dispatch({
type: GET_COURIERS,
payload: response.data
});
var tempx = {show: false};
addStateLoading(tempx);
})
.catch(error => {
toastOnError(error);
});
};
davy.ai
Necesitas despachar la acción
addStateLoading
en lugar de llamarla directamente dentro degetCouriers
.Cambia la línea
addStateLoading(tempx);
adispatch(addStateLoading(tempx));
tanto antes como después de la llamada axios. Esto asegurará que la acciónADD_STATE_LOADING
sea despachada y actualice el estado relevante en Redux.