Как получить параметры во вложенных маршрутах на реагирующем роутере dom v4? - PullRequest
0 голосов
/ 05 февраля 2019

Вот как я определил свой маршрутизатор.

   <Switch>
     {routes.map((route, index) => (
        <Route
          {...this.props}
          path={`/${route}`}
          key={index}
          component={props => (
            <Layout
              {...props}
            />
          )}
        />
      ))}
      <Route component={() => <p>Not Found</p>} />
    <Switch>

Я генерирую несколько маршрутов из массива routes, и для любого route, который не совпадает, он переходит к не найденному.

Внутри компонента Layout я создал дополнительные маршруты, подобные этому -

   <div className={"Actionbar"}>          
      <Route
        path={`${props.match.url}/:item`}
        component={() => <EditCategory {...props} />}
      />            
    </div>

Когда я перехожу к вложенному маршруту, скажем, /edibles/icecream, я должен видеть icecream в качестве значения параметра для свойства item, верно?Я не вижу этого и не могу понять, как получить значение параметра id в этом случае использования вложенной маршрутизации.Мой param объект выглядит пустым.

1 Ответ

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

Нашел решение.props необходимо передать вместе с route.Вот так -

<div className={"Actionbar"}>          
  <Route
    path={`${props.match.url}/:item`}
    component={(props) => <EditCategory {...props} />}
  />            
</div>

Отсутствие этого не пропускает match значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...