Как правильно связать маршрут с параметрами? - PullRequest
0 голосов
/ 01 февраля 2019

У меня настроены эти маршруты в 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.

Что не так с приведенным выше кодом?

1 Ответ

0 голосов
/ 01 февраля 2019

В вашей ссылке to реквизит вы должны указать полный путь заказа, например

<Link to={`/orders/${order.orderReference}/details1`} >
    <PickingIcon />
</Link> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...