2017-08-12 4 views
2

je suis en train d'utiliser chercher supprimer la méthode de requête pour supprimer l'élément dans mon serveur localhost en utilisant réagir ReduxFetch supprimer la méthode de requête à l'aide réagir Redux ne supprime pas

méthode pour appeler

deleteItem(e) { 
    e.preventDefault(); 
    const id = this.props.id; 
    this.props.deleteSet(id); 
    } 

Dispatching l'action

const mapDispatchToProps = dispatch => ({ 
    deleteSet: id => dispatch(deleteSet(id)), 
}); 

action

export function deleteSetSuccess(id) { 
    return { 
    type: "DELETE_SET_SUCCESS", 
    id, 
    }; 
} 

export function deleteSet(data) { 
    return (dispatch) => { 
    fetch(`${apiUrl}orgs/1/sets/${data}`, { 
     method: "DELETE", 
     body: JSON.stringify(data), 
     headers: new Headers({ 
     "Content-Type": "application/json", 
     }), 
    }).then(response => response) 
     .then(id => dispatch(deleteSetSuccess(id))); 
    }; 
} 

Réducteur

export function deleteSetSuccess(state = '', action) { 
    switch (action.type) { 
    case "DELETE_SET_SUCCESS": 
     return action.id; 

    default: 
     return state; 
    } 
} 

réponse du serveur localhost

DELETE http://localhost:8080/distinction-2.0-alpha2/api/orgs/1/sets/8 400 (Bad Request) 

Répondre

0

A valid HTTP DELETE request doesn’t have a request body -et donc n'a pas besoin d'en-tête de demande Content-Type soit, mais le code de demande dans la question envoie des données le corps de la requête, avec un en-tête de demande Content-Type. On peut supposer que votre serveur décide qu'il ne s'agit pas d'une demande DELETE valide et qu'il répond donc avec une "Bad Request" de 400 pour l'indiquer.

+0

Cela fonctionne grâce, mais il ne supprime pas l'élément instantanément, je dois actualiser la page avant qu'il ne soit parti. –

+0

ouais ça aide beaucoup, merci encore une fois –

+0

Et il y a ce problème que je rencontre, j'ai une liste de composants, ce que je veux, c'est quand je clique sur un bouton d'édition sur chaque composant, il devrait me conduire à une page a une entrée de tas où la valeur d'entrée est le this.props qui m'attend pour éditer et enregistrer, et je n'ai aucune idée comment commencer. –