Я пытаюсь реализовать функцию удаления в моем приложении React / Redux с помощью firestore. Но я получаю эту ошибку Cannot read property 'params' of undefined
похоже, что у меня нет идентификатора в моем URL? Я также думаю, что мне нужно передать идентификатор документа, который я хочу удалить, но как это сделать? привязать его к удалению? Я думаю, что мои ошибки передаются идентификатору в URL, который отсутствует, но я не уверен
import React, { Component } from "react"
import { compose } from "redux"
import { connect } from "react-redux"
import { firestoreConnect } from "react-redux-firebase"
import { Link } from "react-router-dom"
import PropTypes from "prop-types"
class Health extends Component {
onDeleteClick = () => {
const { delHealth, firestore, history } = this.props
firestore
.delete({
collection: "delHealth",
doc: delHealth.id,
})
.then(history.push("/"))
}
render() {
const { health } = this.props
if (health) {
const heal = health.slice(0, 3)
return (
<table>
<thead>
<tr>
<th> Condition </th> <th> Dosage </th> <th> Fever </th>{" "}
<th> Headache </th> <th> Pain </th> <th> Weight </th>{" "}
<th> Hearth Rate </th> <th> Temperature </th> <th />
</tr>{" "}
</thead>{" "}
<tbody>
{" "}
{heal.map(el => (
<tr key={el.id}>
<td> {el.condition} </td> <td> {el.dosage} </td>
<td> {el.fever} </td> <td> {el.headache} </td>
<td> {el.pain} </td>{" "}
<td>
{" "}
{el.weight}
kg{" "}
</td>{" "}
<td> {el.hearthRate} </td> <td> {el.temperature} </td>
<td>
<div className="buttons-edit-del">
<Link to={`/health/healthEdit/${el.id}`}>
<i class="fas fa-pen" />
</Link>{" "}
<i class="fas fa-trash-alt" onClick={this.onDeleteClick} />{" "}
</div>{" "}
</td>{" "}
</tr>
))}{" "}
</tbody>{" "}
</table>
)
} else {
return <h1> loding </h1>
}
}
}
Health.propTypes = {
firestore: PropTypes.object.isRequired,
health: PropTypes.array,
}
export default compose(
firestoreConnect(props => [
{
collection: "health",
storeAs: "delHealth",
doc: props.match.params.id,
},
]),
connect(({ firestore: { ordered } }, props) => ({
health: ordered.health,
delHealth: ordered.delHealth && ordered.delHealth[0],
}))
)(Health)