我正在学习 useParams hook in react。我有一个这样的网址,需要能够从中提取字母 9。
http://localhost:3010/9/solution
我该怎么办?
我正在学习 useParams hook in react。我有一个这样的网址,需要能够从中提取字母 9。
http://localhost:3010/9/solution
我该怎么办?
我假设您使用的是react-router,如果您定义这样的路由,例如:
<Route path="/:id/about">
<About />
</Route>
请注意,您使用此 :id 符号定义路径,这意味着 id 将是此特定情况下的参数。然后你创建一个 Link 组件
<Link to="/2/about">About</Link>
在你的组件中,在这个例子中是 about 组件,你可以像这样使用钩子:
function About() {
const { id } = useParams();
return (
<div>
<h2>Now showing post {id}</h2>
</div>
);
}
如果你想检查结果https://codesandbox.io/s/react-router-basic-nv8pn,我有这个代码沙箱
假设您正在使用react-router
,那么您应该在 React 应用程序中使用浏览器路由器:https :
//reacttraining.com/react-router/web/api/BrowserRouter
然后声明一条路线,如:
<Route path="/{id}/solution" component={Component} />
然后在您的组件中,您将能够使用它:
const { id } = useParams();