Estoy tratando de actualizar el estado después de una solicitud de eliminación. Se está eliminando la identificación correcta, pero no está actualizando el estado en absoluto porque la carga útil de la acción está vacía. A continuación se muestra mi código actual.
acciones\index.js
... function deleteCustomerSucceeded(customer){ return{ type:"DELETE_CUSTOMER_SUCCEEDED", payload:{ customer } } } export function deleteCustomer(id){ return(dispatch) =>{ api.deleteCustomer(id).then((res) => { dispatch(deleteCustomerSucceeded(res.data)) }) } ...reductores\index.js
... case 'DELETE_CUSTOMER_SUCCEEDED':{ return{ ...state, customers: state.customers.filter(customer => customer.id !== action.payload) } } ...api\index.js
export function deleteCustomer(id){ return client.delete(`/customers/${id}`) }mivista.js
deleteCustomer(){ let state = {submitted: true} this.props.onDeleteCustomer(this.state.customer.id) state = { ...state, customer: this.emptyCustomer, deleteCustomerDialog: false } this.setState(state) }Avíseme si necesita alguna aclaración adicional o algún código adicional que pueda necesitar ver para ayudar a responder esta pregunta.
Después de la respuesta de Kapobajza, hice estos cambios en mi código para que funcione.
reductores\index.js
case 'DELETE_CUSTOMER_SUCCEEDED':{ return{ ...state, customers: state.customers.filter(customer => customer.id !== action.payload.id) } }acciones\index.js
function deleteCustomerSucceeded(id){ return{ type:"DELETE_CUSTOMER_SUCCEEDED", payload:{ id } } } export function deleteCustomer(id){ return(dispatch) =>{ api.deleteCustomer(id).then((res) => { dispatch(deleteCustomerSucceeded(id)) }) } }