如果我有路线:
<Route path="Admin/Products/Edit/:id" ... />
我有一个呼叫网站,如:
const productId = "products/12345";
return <Link to="/Admin/Products/Edit/" + productId>...</Link>
如何转义productId
以便react-router捕获整个值,包括斜杠作为单个值?
答案 0 :(得分:1)
我认为有几种方法可以做到这一点:
<Route path='Admin/Products/Edit/*' component={EditProduct} />
然后您可以使用this.props.params.splat
获取您的:“products / 12345”,问题是*
匹配所有字符(非贪婪)。
<Route path='Admin/Products/Edit/*/*/' component={EditProduct} />
然后您需要记住,Link
的路径需要以/
结尾,例如:
const productId = "products/12345/";
return <Link to="/Admin/Products/Edit/" + productId>...</Link>
你得到一系列splats,所以你可以:this.props.params.splat.join('/')
得到你的:“products / 12345”
您可以找到有关Route Matching in the docs的更多信息。