javascript - 用参数链接到路由的正确方法是什么?
问题描述
我在以下位置设置了这些路线app.js
:
import { BrowserRouter, Route, Switch } from 'react-router-dom';
<BrowserRouter>
<Switch>
<Route name="overview" exact path="/" component={OverviewPage} />
<Route name="details1" exact path="/orders/:orderReference/details1" component={DetailsOnePage}/>
<Route name="details2" exact path="/orders/:orderReference/details2" component={DetailsTwoPage}/>
</Switch>
</BrowserRouter>
这些路由通过智能组件中的按钮调用:
import { Link } from 'react-router-dom';
<IconButton aria-label="Details One">
<Link to="details1" params={{ orderReference: order.orderReference }}>
<PickingIcon />
</Link>
</IconButton>
我希望这会路由到:
http://localhost:3000/orders/my-reference/details1
但它会:
http://localhost:3000/details1
哪个不存在。
我查了一下,order.orderReference
确实包含 value my-reference
。
上面的代码有什么问题?
解决方案
在您的 Linkto
道具中,您必须提供完整的订单路径,例如
<Link to={`/orders/${order.orderReference}/details1`} >
<PickingIcon />
</Link>
推荐阅读
- php - 了解 OOP 的概念
- java - 检查 Java 正则表达式中的特定字符
- javascript - 获取 FormData 的原始 POST 正文字符串
- reactjs - ReactJS 无法访问 setState 中的响应对象
- javascript - 我的问题是关于在 Javascript 中将文本框值存储在数组中并将它们求和
- reactjs - For...in 循环在发送到 Firestore 时添加键而不是值
- python-hypothesis - 如何在假设中定义策略以生成一对相似的递归对象
- python-3.x - 取整数列表的平均值
- c# - C#如何分区并行foreach循环以迭代我的列表
- python - 如果发生特定异常,重新运行 try 块的简单方法?