Вы не указываете, что ваш 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);
});
Вот код CodeSandbox (использующий некоторые фиктивные данные в конструкторе), отображающий элемент, передаваемый в console.log()
(оператор axios закомментирован).
РЕДАКТИРОВАТЬ: Как сделать запросы на удаление axios с помощью Firebase REST API
Извините, я не увидел, что вы используете Firebase.Прямые запросы REST немного отличаются от Firebase.В вашей конфигурации запросы должны выглядеть следующим образом:
axios.delete(`${url}/${firebasePostId}.json`).then(response => {
console.log(response)
})
Это предполагает, что ваши правила Firebase разрешают неавторизованные запросы (что я настоятельно рекомендую, поскольку любой может отправить этот запрос).
Обратите внимание, что firebasePostId
- это кнопка, предоставляемая Firebase при отправке им POST
запросов, и на самом деле это отличный выбор id
для ваших сообщений.Примером является -LOLok8zH3B8RonrWdZs
, который вы упомянули в комментариях.
Для получения дополнительной информации о синтаксисе API REST Firebase, ознакомьтесь с их документацией .