问题描述
当我单击预订的特定ID时,我想在表单上进行编辑,以便将ID中的值传递到编辑表单中。但是,即使URL包含参数,match.params
也会返回空。我该如何解决?
这是我编辑的预订文件:
export default function Adminedit(props) {
const [CategoryList,setCategory] = useState([]);
const [data,setData] = useState({
date: "",firstName: "",lastName: "",phone: "",email: "",nopersons: "",time: "",});
useEffect(() => {
const _id = props.match.params.id;
console.log(props.match.params.id);
console.log(_id);
Axios.get(config.API_HOST_ORIGINAL + `/adminbookings/` + _id,{
headers: {
'Authorization': 'Bearer ' + config.getToken()
}
}).then(res => {
setData(res.data)
console.log("Logged res data:",res.data);
}).catch(err => console.error(err))
},[]);
function submit(e) {
e.preventDefault();
Axios.post(config.API_HOST_ORIGINAL + '/bookings/',{
headers: {
'Authorization': 'Bearer ' + config.getToken()
}
}).then(res => {
console.log(res.data);
const myData = [...CategoryList,res.data]
setCategory(myData)
}).catch(err => console.error(err))
}
function handle(e) {
const newData = { ...data }
newData[e.target._id] = e.target.value;
setData(newData);
}
**Another other file:
This is where I take in all the bookings**
const Bookings = (props) => {
Some hooks...
function Update(_id) {
console.log("Log this shiiiet to console",_id);
props.history.push("/adminedit/" + _id);
}
return {
<>
<td>
<button type="button"
onClick={() => Update(bookings._id)}
className="btn btn-primary btn-sm">Edit</button>
</td>
</>
}
export default Bookings;
解决方法
您应该使用<svg width='200' height='200'>
<filter id='blur' width='100%' height='100%'>
<feGaussianBlur stdDeviation='2' result='blur' />
</filter>
<image x='0' width='200px' height='200px' xlink:href='' id='svg-image' filter='url(#blur)' />
</svg>
中的useParams
钩子。
您还应该在react-router-dom
之外定义id
useEffect