2017-08-12 29 views
2

我试图使用读取删除请求方法使用我的本地服务器上删除项目Redux的反应删除请求方法提取采用了反应终极版没有删除

方法调用

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

调度动作

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

行动

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))); 
    }; 
} 
从本地主机服务器0

减速器

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

    default: 
     return state; 
    } 
} 

响应

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

回答

0

valid HTTP DELETE request doesn’t have a request body -and所以不需要Content-Type请求头非彼但在问题的请求的代码被发送一些数据作为请求正文,以及Content-Type请求标头。据推测,你的服务器正在判定这不是一个有效的DELETE请求,所以它正在响应一个400“错误请求”来表明这一点。

+0

它的工作表示感谢,但它并不立即删除该项目,我必须在页面消失之前刷新页面。 –

+0

是的,它帮助了很多,再次感谢你 –

+0

而且我遇到了这个问题,我有一个组件列表,我想要的是当我点击每个组件上的编辑按钮时,它应该带我到一个页面有一堆输入,其中输入值是this.props等待我编辑和保存,我不知道如何开始。 –