我在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
。
上面的代码有什么问题?
答案 0 :(得分:1)
在链接to
中,您必须提供完整的订单路径,如
<Link to={`/orders/${order.orderReference}/details1`} >
<PickingIcon />
</Link>