您没有具体说明您的内容Post
组件应该删除。换句话说,props.delete
没有收到id
传递给您的父组件。为此,您可以将其更改为() => props.delete(props.id)
然后在你的父组件中你需要有handleDelete
方法接收到id
您要定位的项目的id
我们早些时候放弃了Post
.
我不知道您的服务器是如何设置的,但使用您问题中最初的 axios 请求,您的代码将如下所示:
handleDelete = (itemId) => {
// Whatever you want to do with that item
axios.delete("url", { params: { id: itemId } }).then(response => {
console.log(response);
});
这是一个代码沙箱 https://codesandbox.io/s/vyyrxrnvql(在构造函数中使用一些虚拟数据)显示在 a 中传递的项目console.log()
(axios 语句被注释掉)。
编辑:如何使用 Firebase REST API 发出 axios 删除请求
哦,抱歉,我没有看到您正在使用 Firebase。直接 REST 请求与 Firebase 略有不同。在您的配置中,请求应如下所示:
axios.delete(`${url}/${firebasePostId}.json`).then(response => {
console.log(response)
})
这是假设您的 Firebase 规则允许未经授权的请求(我强烈建议不要这样做,因为任何人都可以发送此请求)。
请注意firebasePostId
是您发送时 Firebase 提供的推送键POST
向他们提出要求,实际上是一个很好的选择id
对于你的帖子。一个例子是-LOLok8zH3B8RonrWdZs
你在评论中提到的。
有关 Firebase REST API 语法的更多信息,请查看他们的文档 https://firebase.google.com/docs/reference/rest/database/.