【发布时间】:2022-01-03 04:14:49
【问题描述】:
我正在尝试通过 url 获取查询参数的值并将其用于 api 调用 例如:
import { Link, useSearchParams } from "react-router-dom";
const CommonTypes = () => {
let [searchParams, setSearchParams] = useSearchParams();
const handleClick = (car) => {
setSearchParams({ type: car });
};
return (
<>
<div className=" w-screen">
<div className="container mx-auto max-w-5xl px-10 grid grid-cols-2 gap-10 py-10">
<div className=" min-w-7xl h-fit border rounded-lg border-stone-900 p-5 pb-16 text-left ">
<h1 className="font-semibold text-xl mb-2 font-sans">
<span className="text-red-500 font-semibold text-xl font-sans">
Common
</span>{" "}
types of choice
</h1>
<p className="font-sans font-medium">
You can quickly pick a category from here by clicking on one of
the following icons
</p>
<p>
-----------------------------------------------------------------
</p>
<div className="grid grid-cols-3 gap-14 text-center ">
<Link to={"/sub-cars"} onClick={handleClick(hatchback)}>
<div className="">
<img src={hatchback} alt="" className="w-44 h-28"></img>
<p>----------------</p>
<span className="font-sans font-semibold text-red-500">
HATCHBACK
</span>
</div>
</Link>
如您所见,我正在传递值类型,但 url 没有通过查询参数,例如:http://localhost:3000/sub-cars?type=hatchback 所以我可以在api调用的新页面,我的其他组件看起来像这样
const Models = () => {
let [searchParams, setSearchParams] = useSearchParams();
useEffect(() => {
console.log("lol");
console.log(searchParams.get("type"));
}, []);
return (
<>
<Navbar />
<span>{searchParams.get("type")}</span>
</>
);
};
【问题讨论】:
标签: javascript reactjs react-router