React router 4, опорный параметр внутри определения маршрута - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть определение вложенного маршрута с реагирующим маршрутизатором 4

const App = () => (
<Switch>
  <Route
    key={3}
    path='/case-studies'
    render={({ match: { url } }) => (
      <div>
        <Route
          exact
          path={`${url}/`}
          render={(location) => <Page
            location={location}
            data={
              {
                type: 'archive',
                api: apiBase + '/' + 'pages' + '?slug=case_study'
              }
            } />
          } />
        <Route
          exact
          path={`${url}/:slug`}
          render={(location, match) => <Page
            location={location}
            data={
              {
                type: 'archive',
                api: apiBase + '/' + 'case_study' + '?slug=' + match.params.slug
              }
            } />
          } />
      </div>
    )}
  />,

Мне интересна эта строка:

api: apiBase + '/' + 'case_study' + '?slug=' + match.params.slug

Я знаю, как ссылаться на совпадение в моем отрендеренном компоненте 'Страница 'props.
Однако я пытаюсь определить это свойство (' api ') в маршруте и передать его через, уже определенный, компоненту, но с динамическим параметром paramter.

Однако я не могу получить доступ к совпадению или его динамическому свойству 'slug' (внутри определения маршрута).

Возможно ли это?Если так, то, поскольку я не нашел ссылки на это в другом месте, это анти-паттерн?(если так, почему?)

1 Ответ

0 голосов
/ 14 ноября 2018

это похоже на работу:

<Route
  exact path={`${url}/:slug`}
  render={({ match: { params: { slug } } }) => (
    <Page
      data={
        {
          type: 'archive',
          api: apiBase + '/' + 'case_study' + '?slug=' + slug
        }
      }
    />)
  }
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...