我在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
确实包含值my-reference
。上面的代码有什么问题?
最佳答案
在Link to
道具中,您必须提供完整的订单路径,例如
<Link to={`/orders/${order.orderReference}/details1`} >
<PickingIcon />
</Link>