我正在学习useParams挂钩。我有这样的网址,需要 以便从中提取字母9。
Public Const myRangeNameVendor As String = "namedRangeDynamicVendor"
Public Const myRangeNameVendorCode As String = "namedRangeDynamicVendorCode"
Sub Main Macro
'
'
'
Call NamedRanges(wb, wSh)
With New FrmVendor
.Tag = myRangeNameVendor & "|" & myRangeNameVendorCode
.Show
End With
...
我该怎么办?
答案 0 :(得分:5)
例如,如果您定义这样的路由,则假设您使用的是React Router:
<Route path="/:id/about">
<About />
</Route>
请注意,您使用:id表示法定义路径,这意味着在这种特定情况下,id将成为参数。然后创建一个链接组件
<Link to="/2/about">About</Link>
在您的组件中,此示例中的about组件可以使用如下所示的钩子:
function About() {
const { id } = useParams();
return (
<div>
<h2>Now showing post {id}</h2>
</div>
);
}
,则可以使用此代码沙箱
答案 1 :(得分:3)
看看这个:
useRouter hook for better routing with react-router
它将所有钩子useParams, useLocation, useHistory, useRouteMatch
包装到单个useRouter
钩子中,该钩子仅公开我们需要的数据和方法。
希望您喜欢它!
答案 2 :(得分:2)
假设您正在使用react-router
,则应在React应用中使用Browser Router:
https://reacttraining.com/react-router/web/api/BrowserRouter
,然后声明一条路线,例如:
<Route path="/{id}/solution" component={Component} />
,然后在您的组件中可以使用它:
const { id } = useParams();