Delete request в react-day-picker
Я использую react-day-picker (multiple days)
Задача - получать даты с сервера (и показывать их выделенными). При выборе новой даты отправлять POST запрос на сервер. При удалении - удалить с севера.
Я реализовал получения и отправку, но не могу реализовать удаление. Удаление происходит по ID, но я не могу привязать ID к нужной дате. Если задать в запросе определенный id, то все работает. API:
[
{
"stamp": "Mar 01, 2021",
"id": 123
},
{
"stamp": "Mar 01, 2021",
"id": 123
}
]
Код:
this.state = {
adsIssue: [],
};
this.handleDayClick = this.handleDayClick.bind(this);
componentDidMount() {
axios.get(`MyURL/?id=${this.props.match.params.id}`)
.then(res => {
return res;
})
.then(
(result) => {
this.setState({
adsIssue: result.data.map((issue) => (new Date(issue.stamp))),
});
}
)
.catch(err => {
return err
})
}
handleDayClick(day, { selected }) {
const { adsIssue } = this.state;
const selectedDate = adsId.map((issue) => (issue.id));
const data = {
scroll_id: this.props.match.params.id,
stamp: moment(day).format('YYYY-MM-DD'),
};
if (selected) {
const selectedIndex = adsIssue.findIndex(selectedDay =>
DateUtils.isSameDay(selectedDay, day)
);
adsIssue.splice(selectedIndex, 1);
axios
.delete(`My URL`, {params: {id: 123}}) //Hardcode is work!
.then(res => console.log(res))
.catch(err => console.log(err));
} else {
adsIssue.push(day);
axios
.post(`MyUrl/?id=`, data)
.then(res => console.log(res))
.catch(err => console.log(err));
}
this.setState({ adsIssue });
}
render() {
return (
<React.Fragment>
<DayPicker
selectedDays={this.state.adsIssue}
onDayClick={this.handleDayClick}
/>
</React.Fragment>
)
}
Буду очень благодарен за любую помощь.