我是一个相对较新的 React 者,想使用该react-date-range
库。为此,我想发送一个POST
包含axios
开始日期和结束日期的请求。但是,我在合并库和发布请求时遇到问题。有人可以帮我解决这个问题吗?因为现在开始日期和结束日期尚未提交,我也不知道该怎么办。
import React, { Component, useState } from 'react';
import './Datepickersearch.css';
import 'react-date-range/dist/styles.css'; // main style file
import 'react-date-range/dist/theme/default.css'; //theme css file
import { DateRangePicker } from 'react-date-range';
import { Button } from '@material-ui/core';
import { useHistory } from 'react-router-dom';
import axios from 'axios';
function Search() {
const history = useHistory();
const [startDate, setStartDate] = useState(new Date());
const [endDate, setEndDate] = useState(new Date());
const selectionRange = {
startDate: startDate,
endDate: endDate,
key: 'selection',
};
function handleSelect(ranges) {
setStartDate(ranges.selection.startDate);
setEndDate(ranges.selection.endDate);
}
axios.post(`http://localhost:8080/api/reservation/`, { startDate, endDate }).then((res) => {
console.log(res);
console.log(res.data);
});
return (
<div className="datepickersearch">
<DateRangePicker ranges={[selectionRange]} onChange={handleSelect} />
<h2> Number of guests</h2>
<input min={0} defaultValue={2} max={7} type="number" />
<Button onClick={() => history.push('/search')}>Search Apartments</Button>
</div>
);
}
export default Search;
你需要在按钮上添加onClick方法,并调用一种方法来发布数据,然后填充日期(检查控制台语句)。
请检查此代码 -https://codesandbox.io/s/axios-post-data-dhded?file=/src/Search.jsx
谢谢您的回答。但是,我查看了代码,未使用Axios。有没有一种方法也可以实现Axios Post请求?
我已经注释了它,因为我没有运行服务器来发布数据,您只需取消注释并尝试输入代码即可
哦,我懂了!感谢您的帮助!